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:
vcs://localhost/VCS::Rcs/file/name/1.2
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 "VCS::Version" object.
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.