Module Make_json.Branch

Manipulate branches.

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.

val pp : branch Fmt.t

pp is a pretty-printer for a branch.

Base functions for branches.

include Irmin.Branch.S with type t = branch

Signature for Branches

type t = branch

The type for branches.

val t : t Irmin.Type.t
val main : t

The name of the main branch.

val is_valid : t -> bool

Check if the branch is valid.