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.

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.

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.

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 versionned_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 : 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.

OCaml

Innovation. Community. Security.