NAME
VCS::Version - module for access to a VCS version
SYNOPSIS
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",
;
DESCRIPTION
VCS::Version abstracts a single revision of a file under version control.
METHODS
Methods marked with a "*" are not yet finalised/implemented.
VCS::Version->create_new(@version_args) *
@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).
VCS::Version->new($url)
$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.
VCS::Version->init($url)
$url
is a version URL. Returns an object of class VCS::Version
. This method calls VCS->parse_url
to make sense of the URL.
$version->url
Returns the $url
argument to new
.
$version->version
Returns the $version
argument to new
.
$version->tags
Returns a list of tags applied to this version.
$version->text
Returns the text of this version of the file.
$version->diff($other_version)
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.
$version->author
Returns the name of the user who checked in this version.
$version->date
Returns the date this version was checked in.
$version->reason
Returns the reason given on checking in this version.
$version->path
Returns the absolute path of the file to which this version relates.
SEE ALSO
VCS.
COPYRIGHT
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.