package opam-repository

  1. Overview
  2. Docs

Operations on repositories (update, fetch...) based on the different backends implemented in separate modules

Get the list of packages

val packages_with_prefixes : OpamTypes.dirname -> string option OpamTypes.package_map

Get the list of packages (and their possible prefix)

Repository backends

val update : OpamTypes.repository -> OpamTypes.dirname -> [ `Changes | `No_changes ] OpamProcess.job

Update $opam/repo/$repo. Raises Failure in case the update couldn't be achieved. Returns `No_changes if the update did not bring any changes, and `Changes otherwise.

val pull_shared_tree : ?cache_dir:OpamTypes.dirname -> ?cache_urls:OpamUrl.t list -> (string * OpamFilename.Dir.t * OpamTypes.subpath option) list -> OpamHash.t list -> OpamTypes.url list -> string OpamTypes.download OpamProcess.job

pull_shared_tree ?cache_dir ?cache_url labels_dirnames checksums urls Fetch an URL and put the resulting tree into the supplied directories specified in labels_dirnames. The string in labels_dirnames are text labels of this given dirname for display. urls must either point to a tree (VCS, rsync) or to a known archive type. In case of an archive, the cache_dir is used and supplied the hashes verified, then the archive uncompressed. In case of a version-controlled URL, it's checked out, or synchronised directly if local and working_dir was set. cache_urls is used to retrieve from repository caches.

val pull_tree : string -> ?full_fetch:bool -> ?cache_dir:OpamTypes.dirname -> ?cache_urls:OpamTypes.url list -> ?working_dir:bool -> ?subpath:OpamTypes.subpath -> OpamTypes.dirname -> OpamHash.t list -> OpamTypes.url list -> string OpamTypes.download OpamProcess.job
val pull_file : string -> ?cache_dir:OpamTypes.dirname -> ?cache_urls:OpamTypes.url list -> ?silent_hits:bool -> OpamTypes.filename -> OpamHash.t list -> OpamTypes.url list -> unit OpamTypes.download OpamProcess.job

Same as pull_tree, but for fetching a single file.

val pull_file_to_cache : string -> cache_dir:OpamTypes.dirname -> ?cache_urls:OpamTypes.url list -> OpamHash.t list -> OpamTypes.url list -> string OpamTypes.download OpamProcess.job

Same as pull_file, but without a destination file: just ensures the file is present in the cache and that every listed checksums are correctly linked to the archive, otherwise it adds the missing links.

The file where the file with the given hash is stored under cache at given dirname.

Get the optional revision associated to a backend (git hash, etc.).

val current_branch : OpamTypes.url -> string option OpamProcess.job

Get the version-control branch for that url. Only applicable for local, version controlled URLs. Returns None in other cases.

val is_dirty : ?subpath:OpamTypes.subpath -> OpamTypes.url -> bool OpamProcess.job

Returns true if the url points to a local, version-controlled directory that has uncommitted changes

val find_backend : OpamTypes.repository -> (module OpamRepositoryBackend.S)

Find a backend

val find_backend_by_kind : OpamUrl.backend -> (module OpamRepositoryBackend.S)
val report_fetch_result : OpamTypes.package -> string OpamTypes.download -> unit OpamTypes.download

Prints user messages upon the result of a download

OCaml

Innovation. Community. Security.