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
);
"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:
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.