ShipIt::VC -- abstract base class for version control systems
# done for you, elsewhere
... ShipIt::VC->new($conf)
# get your instance from your state handle:
$vc = $state->vc;
# then
$vc->commit($msg);
$vc->tag_version("1.25"[, $msg]);
$vc->exists_tagged_version("1.25"); # 1
$vc->local_diff("ChangeLog"); # returns diff of changelog
ShipIt::VC is an abstract base class, with a factory method 'new' to return a
subclass instance for the version control system detected to be in use.
Rather than using 'new' directly, you should call your
ShipIt::State $state's "vc" accessor
method, which returns a memoized (er, singleton) instance of
ShipIt::VC->new.
Commit all outstanding changes in working copy to repo, with provided commit
message.
Tag the current version (already committed) as the provided version number.
Returns true if the given version is already tagged.
Returns diff of $file from what's on the server compared
to the local on-disk copy.
Returns bool, if any files on disk are uncommitted.