This library provides an abstract interface to various kinds of version control systems, unifying them into a set of git repositories.
$vcs_repo_kinds[]
Kinds of repositories presently supported.
A VCS package specification is encoded as the following tuple:
<name>|<kind>|<url>
vcs_spec_build()
Prints a project specification for the named project ($1), repository kind ($2), and URL ($3).
with_vcs_spec()
Decomposes the given specification ($1) into its parts, passing them to the given command ($@).
vcs_spec_info()
Prints a human-readable version of the parts of a package specification ($1)
vcs_spec_clone()
Clones project repositories from specifications ($@).
vcs_spec_update()
Updates project repositories from specifications ($@).
vcs_repo_spec()
Prints a project specification for the named repository ($1), extracting the repository kind and URL from the current directory.
$1 - Repository name
vcs_repo_clone()
Creates a local copy of a repository ($1) given its type ($2) and URL ($3).