Up

module OpamVCS

: sig

Generic backend for version-control systems.

#
module type VCS = sig

Each backend should implement this signature.

#
val exists : OpamTypes.repository -> bool

Test whether the given repository is correctly initialized.

#
val init : OpamTypes.repository -> unit

Init a repository.

#
val fetch : OpamTypes.repository -> unit

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

Reset the master branch of the repository to match the remote repository state.

#
val diff : OpamTypes.repository -> bool

Check whether the staging area is empty.

#
val revision : OpamTypes.repository -> string

Return the HEAD revision.

end
#
module Make : functor (VCS : VCS) -> OpamRepository.BACKEND

Create a backend from a VCS implementation.

end