To focus the search input from anywhere on the page, press the 'S' key.
in-package search v0.1.0
type t = S.t
Abstract value for stores.
type ctx = IO.ctx
The base Git protocol and Git+SSH
List the references of the remote repository.
val push : ?ctx:ctx -> t -> branch:Reference.t -> Gri.t -> Result.push Lwt.t
Push a local branch to a remote store.
val fetch : ?ctx:ctx -> ?deepen:int -> ?unpack:bool -> ?capabilities:capability list -> ?wants:want list -> ?progress:(string -> unit) -> t -> Gri.t -> Result.fetch Lwt.t
fetch t uri fetches the contents of
uri into the store
By default, all the remote references are updated. This behavior can be changed by using the
wantsis not specified, the objects corresponding to all the remote references are downloaded. This is useful when cloning a new repository as the remote references are not yet known.
- If a reference (e.g. a
wantvalue) appears in the list, the object corresponding to that remote reference are fetched. This works only if the server exports the "allow-reachable-sha1-in-want" (available in Git 2.5.0)
- If a commit hash (e.g. a
wantvalue) in the list, the objects corresponding to the that remote commits are fetched..
Note: the local HEAD is not modified when doing a fetch. To do so (for instance when doing a clone) do the following:
fetch t gri >>= fun r -> match Result.head_contents r with | Some h -> Store.write_head t h | None -> Lwt.return_unit
val clone : ?ctx:ctx -> ?deepen:int -> ?unpack:bool -> ?capabilities:capability list -> ?branch:want -> ?progress:(string -> unit) -> t -> checkout:bool -> Gri.t -> Result.fetch Lwt.t
fetch but also initialise
HEAD and a the specified
branch is not specified, initialise all the references that the remote repository exposes.