irmin-mirage-git

MirageOS-compatible Irmin stores
IN THIS PACKAGE

Branch Store

Manipulate relations between branches and commits.

val mem : repo -> branch -> bool Lwt.t

mem r b is true iff b is present in r.

val find : repo -> branch -> commit option Lwt.t

find r b is Some c iff c is bound to b in t. It is None if b is not present in t.

val get : repo -> branch -> commit Lwt.t

get t b is similar to find but raise Invalid_argument if b is not present in t.

val set : repo -> branch -> commit -> unit Lwt.t

set t b c bounds c to b in t.

val remove : repo -> branch -> unit Lwt.t

remove t b removes b from t.

val list : repo -> branch list Lwt.t

list t is the list of branches present in t.

val watch : repo -> branch -> ?init:commit -> ( commit Irmin.Diff.t -> unit Lwt.t ) -> watch Lwt.t

watch t b f calls f on every change in b.

val watch_all : repo -> ?init:(branch * commit) list -> ( branch -> commit Irmin.Diff.t -> unit Lwt.t ) -> watch Lwt.t

watch_all t f calls f on every branch-related change in t, including creation/deletion events.

Base functions for branches.

Signature for Branches

type t = branch

The type for branches.

val t : t Irmin.Type.t

t is the value type for t.

val master : t

The name of the master branch.

val is_valid : t -> bool

Check if the branch is valid.