NAME
App::SCM::Digest::SCM
DESCRIPTION
Interface for the operations required of a SCM by App::SCM::Digest.
INTERFACE METHODS
- new
-
Constructor for the implementation. If the implementation is not supported, this call should die.
- clone
-
Takes a repository URL and a directory name as its arguments. Clones (i.e. checks out a local copy of) the repository into the specified directory.
- open_repository
-
Takes a repository path as its single argument. "Opens" the repository, typically by way of
chdir
. Once a repository is opened, subsequent method calls will operate on that repository, untilopen
is called again orchdir
is executed in some other context. - is_usable
-
Returns a boolean indicating whether other operations may be performed on this repository. Should be called immediately after calling
open_repository
, and prior to calling any other repository-specific method. - pull
-
Pulls pending updates from the remote repository.
- branches
-
Returns an arrayref mapping from branch name to the last commit received for that branch.
- branch
-
Returns the currently-checked-out branch name.
- checkout
-
Takes a branch name as its single argument, and checks out that branch.
- commits_from
-
Takes a branch name and a commit ID as its arguments, and returns an arrayref containing all commits on that branch that were received after the given commit. The arrayref is in order from least to most recent, i.e. the last element of the arrayref contains the most recent commit.
- has
-
Takes a commit ID as its single argument. Returns a boolean indicating whether the commit is present in the history for the current branch.
- show
-
Takes a commit ID as its single argument. Returns the basic details of the commit as an arrayref of strings. This typically contains details like commit time, author, and commit message.
- show_all
-
Takes a commit ID as its single argument. Returns the basic details of the commit, plus the diff of the commit, as an arrayref of strings.