VCS::Version - module for access to a VCS version
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
@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.
Returns the $url argument to "new".
Returns the $version argument to "new".
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.