VCS::Version - module for access to a VCS version
use VCS; die "Usage: $0 file-url\ne.g.: vcs://localhost/VCS::Rcs/file/name/1.2\n" unless @ARGV == 1; my $version = VCS::Version->new(@ARGV); print "Methods of \$version:\n", "url: ", $version->url, "\n", "author: ", $version->author, "\n", "version: ", $version->version, "\n", ;
VCS::Version abstracts a single revision of a file under version control.
Methods marked with a "*" are not yet finalised/implemented.
@version_args is a list which will be treated as a hash, with contents as follow:
@version_args = ( name => 'a file name', version => 'an appropriate version identifier', tags => [ 'A_TAG_NAME', 'SECOND_TAG' ], author => 'the author name', reason => 'the reason for the checkin', text => 'either literal text, or a ref to the filename', );
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 VCS URL, of the format:
The version is a version number, or tag. Returns an object of class
VCS::Version, or throws an exception if it fails. Normally, an override of this method will call
VCS::Version->init($url) to make an object, and then add to it as appropriate.
$url is a version URL. Returns an object of class
VCS::Version. This method calls
VCS->parse_url to make sense of the URL.
$url argument to
$version argument to
Returns a list of tags applied to this version.
Returns the text of this version of the file.
Returns the differences (in
diff -u format) between this version and the other version. Currently, the other version must also be a
Returns the name of the user who checked in this version.
Returns the date this version was checked in.
Returns the reason given on checking in this version.
Returns the absolute path of the file to which this version relates.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.