new
Cvs = new Cvs ["workdir"] [key => "value" [, ...]];
my $obj = new Cvs "workdir";
my $obj = new Cvs "workdir", cvsroot => "/path/to/cvsroot";
my $obj = new Cvs cvsroot => ":pserver:user\@host:/path/to/cvs";
Create a new Cvs object for the repository given in argument. Note that the working directory doesn't
need to already exist.
Allowed parameters are:
workdir
Path to the working directory. You don't need it if you plan to use only remote commands like rdiff
or rtag.
cvsroot
Address of the cvsroot. See the Cvs::Cvsroot module documentation for more information on supported
CVSROOT. Note that if you don't supply a cvs root but a working directory, Cvs will try to guess the
CVSROOT value. You still need to supply password and others authentication values. If Cvs can't
determine the CVSROOT value, an error will be thrown and the object will not be created.
password, passphrase, ...
All options supported by Cvs::Cvsroot are supported here. Please see Cvs::Cvsroot documentation for
more details.
checkout
Cvs::Result::Checkout = $obj->checkout("module", {key => "value"});
Checkout the module "module" in the repository (the one that served to create the Cvs object) from the
cvsroot given in parameter.
Allowed parameters are:
reset
Boolean value used to reset any sticky tags, dates or options (See the -A cvs checkout option).
revision
Specify the revision to checkout the module (See the -r cvs checkout option).
date
Specify the date from when to checkout the module (See the -D cvs checkout option).
Cvs::Result::Checkout.
update
Cvs::Result::Update = $cvs->update();
Cvs::Result::Update.
status
Cvs::Result::StatusItem = $cvs->status("file");
Cvs::Result::StatusList =
$cvs->status("file1", "file2", {multiple => 1});
Get the status of one of more files.
Allowed parameters are:
multiple
Boolean value that specify the type of object returned. If true, a Cvs::Result::StatusList object is
returned, and status on more than one files can be handled. If false, a Cvs::Result::StatusItem
object is return and only one file status can be handled (the first one if several).
recursive
If a directory is supplied, process it recursively (Default true).
Cvs::Result::StatusItem, Cvs::Result::StatusList
diff
Cvs::Result::DiffItem = $cvs->diff();
Cvs::Result::DiffList = $cvs->diff({multiple => 1});
Cvs::Result::DiffItem, Cvs::Result::DiffList.
rdiff
Cvs::Result::RdiffList =
$cvs->rdiff("module", {from_revision => $rev});
Cvs::Result::RdiffList.
log
Cvs::Result::Log = $cvs->log();
Cvs::Result::Log.
tag
Cvs::Result::Tag = $cvs->tag("tag");
Cvs::Result::Tag.
rtag
Cvs::Result::Tag = $cvs->rtag("module", "tag");
Cvs::Result::Rtag.
release
Cvs::Result::Release = $cvs->release();
Cvs::Result::Release = $cvs->release('module', ..., {force => 1});
Call the release command.
If call with no directories to release, self repository will be released.
force
Boolean value that activate a forced directory release even if some files was not committed.
Defaults to false.
delete_after
Boolean value that activate directory removal after a release. Default to false.
Cvs::Result::Release
export
Cvs::Result::Export = $obj->export("module", {key => "value"});
Checkout the module "module" in the repository (the one that served to create the Cvs object) from the
cvsroot given in parameter, but without the CVS administrative directories.
Allowed parameters are the same as for checkout. However, one of the options 'revision' or 'date' must
be specified.