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.
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).
$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:
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.
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 ->.
Cvs ONLY
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.
Returns the $url argument to "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.