VCS::File - module for access to a file under version control
use VCS; my $f = VCS::File->new($url); print $f->url . "\n"; foreach my $v ($f->versions) { print "\tversion: " . $v->version . "\t" . ref($v) . "\n"; }
VCS::File abstracts access to a file under version control.
VCS::File
Methods marked with a "*" are not yet finalised/implemented.
$name is a file name, absolute or relative. Creates data as appropriate to convince the VCS that there is a file, and returns an object of class VCS::File, or throws an exception if it fails. This is a pure virtual method, which must be over-ridden, and cannot be called directly in this class (an exception ("die") will result).
$name
die
$version_args is a hash-ref, see VCS::Version for details. Implementation classes are expected to use something similar to this code, to call create_new in the right VCS::Version subclass:
$version_args
VCS::Version
sub introduce { my ($class, $version_args) = @_; my $call_class = $class; $call_class =~ s/[^:]+$/Version/; return $call_class->create_new($version_args); }
This is a pure virtual method, which must be over-ridden, and cannot be called directly in this class (a die will result).
$url is a file URL. Returns an object of class VCS::File, or throws an exception if it fails. Normally, an override of this method will call VCS::File->init($url) to make an object, and then add to it as appropriate.
$url
VCS::File->init($url)
Returns a reference to a hash that has keys that are any tags attached to the file and the values are the corresponding versions which the tags refer to.
Cvs ONLY
Same as for ->.
Returns an array of tags that are connected with the file, this is useful alongside tags_hash() as it allows you to inspect the order in which tags were applied.
$url is a file URL. Returns an object of class VCS::File. This method calls VCS->parse_url to make sense of the URL.
VCS->parse_url
Returns the $url argument to new.
new
Returns a list of objects of class VCS::Version, in order of ascending revision number. If it is passed an extra (defined) argument, it only returns the last version as a VCS::Version.
Returns the absolute path of the file.
VCS.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install VCS, copy and paste the appropriate command in to your terminal.
cpanm
cpanm VCS
CPAN shell
perl -MCPAN -e shell install VCS
For more information on module installation, please visit the detailed CPAN module installation guide.