Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
Each backend should implement this signature.
val name : OpamUrl.backend
val exists : OpamTypes.dirname -> bool
Test whether the given repository is correctly initialized.
val init : OpamTypes.dirname -> OpamTypes.url -> unit OpamProcess.job
Init a repository.
val fetch :
?cache_dir:OpamTypes.dirname ->
OpamTypes.dirname ->
OpamTypes.url ->
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_tree : OpamTypes.dirname -> OpamTypes.url -> unit OpamProcess.job
Reset the master branch of the repository to match the remote repository state. This might still fetch more data (git submodules...), so is unsuitable for running after validation.
val patch_applied : OpamTypes.dirname -> OpamTypes.url -> unit OpamProcess.job
Confirm that applying the patch results in a clean synchronization of the working tree with its repository state.
val diff :
OpamTypes.dirname ->
OpamTypes.url ->
OpamTypes.filename option OpamProcess.job
Returns the pending modifications in the form of a patch file, or None if dirname
is up to date with what was last fetched.
val is_up_to_date : OpamTypes.dirname -> OpamTypes.url -> bool OpamProcess.job
Returns true if the last fetched state is equal to the current, on-disk state
val revision : OpamTypes.dirname -> string option OpamProcess.job
Returns an backend-specific identifier for the current revision.
val versioned_files : OpamTypes.dirname -> string list OpamProcess.job
Returns the list of files under version control
val vc_dir : OpamTypes.dirname -> OpamTypes.dirname
Returns the absolute directory name for vc data (e.g. .../project/.git
)
val current_branch : OpamTypes.dirname -> string option OpamProcess.job
Returns the currently selected branch handle. It should be valid as the hash
field of OpamUrl.t
.
val is_dirty : OpamTypes.dirname -> bool OpamProcess.job
Returns true if the working tree state is different from the state recorded in the VCS as current. This differs from is_up_to_date
, which compares specifically to the last fetched state. This should always be false
after reset
has been called.