package opam-repository

  1. Overview
  2. Docs

Each backend should implement this signature.

val name : OpamUrl.backend
val exists : OpamTypes.dirname -> bool

Test whether the given repository is correctly initialized.

Init a repository.

val fetch : ?full_fetch:bool -> ?cache_dir:OpamTypes.dirname -> ?subpath:OpamTypes.subpath -> 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.

If full_fetch is set to true, VCS repository is retrieved with full history (by default, no history). If cache_dir is given, the directory is used by VCS tool as a its cache directory. If subpath is given, only that subpath of the url is retrieved.

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.

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 : ?subpath:OpamTypes.subpath -> 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

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 : ?subpath:OpamTypes.subpath -> 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.

val modified_files : OpamTypes.dirname -> string list OpamProcess.job

Returns the list of files under version control, modified in the working tree but not committed

val get_remote_url : ?hash:string -> OpamTypes.dirname -> OpamTypes.url option OpamProcess.job
OCaml

Innovation. Community. Security.