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.