module type VCS = sig
.. end
Each backend should implement this signature.
val exists : OpamTypes.repository -> bool
Test whether the given repository is correctly initialized.
val init : OpamTypes.repository -> unit OpamProcess.job
Init a repository.
val fetch : OpamTypes.repository -> unit OpamProcess.job
Fetch changes from upstream. This is supposed to put the changes
in a staging area.
Be aware that the remote URL might have been changed, so make sure
to update accordingly.
val reset : OpamTypes.repository -> unit OpamProcess.job
Reset the master branch of the repository to match the remote
repository state.
val diff : OpamTypes.repository -> bool OpamProcess.job
Check whether the staging area is empty. Returns true if not (eg. there is
an update pending)
val revision : OpamTypes.repository -> string OpamProcess.job
Return the HEAD revision.
val versionned_files : OpamTypes.repository -> string list OpamProcess.job
Returns the list of files under version control