Module KV_MAKER.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 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 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.

include Branch.S with type t = branch
type t = branch

The type for branches.

val t : t Type.t
val master : t

The name of the master branch.

val is_valid : t -> bool

Check if the branch is valid.