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

Update $opam/repo/$repo. Raises Failure in case the update couldn't be achieved.

val pull_tree : string -> ?cache_dir:OpamTypes.dirname -> ?cache_urls:OpamTypes.url list -> ?working_dir:bool -> ?subpath:string -> OpamTypes.dirname -> OpamHash.t list -> OpamTypes.url list -> string OpamProcess.job

Fetch an URL and put the resulting tree into the supplied directory. The URL must either point to a tree (VCS, rsync) or to a known archive type. In case of an archive, the cache 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.

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 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 OpamProcess.job

Same as pull_file, but without a destination file: just ensures the file is present in the cache.

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:string -> 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 -> unit

Prints user messages upon the result of a download