Parameters
module OT : Stdlib.Map.OrderedTypeSignature
type 'a kind_gen = 'a K.ttype ('diff, 'info, 'property_data) tval empty : id -> ('diff, 'info, 'property_data) tval current_branch : ('e, 'i, 'c) t -> Branch.tval branches : ('e, 'i, 'c) t -> Branch.t listval reset_branch : ('e, 'i, 'c) t -> Branch.t -> id -> ('e, 'i, 'c) tval delete_branch : ('e, 'i, 'c) t -> Branch.t -> ('e, 'i, 'c) tval merge : ('diff, 'i, 'c) t -> id -> ours:'diff -> theirs:'diff -> ?into:Branch.t ->
Branch.t -> ('diff, 'i, 'c) tval commit : ('diff, 'i, 'c) t -> id -> 'diff -> ('diff, 'i, 'c) tval rewrite_merge : ('diff, 'i, 'c) t -> id -> ours:'diff -> theirs:'diff -> at:id ->
Branch.t -> ('diff, 'i, 'c) tval checkout : ('e, 'i, 'c) t -> Branch.t -> ('e, 'i, 'c) tval set_info : ('e, 'info, 'c) t -> id -> 'info -> ('e, 'info, 'c) tval get_info : ('e, 'info, 'c) t -> id -> 'info optionmodule Dag : Dag.S with type node = id with type node = OT.t with type NodeSet.t = Stdlib.Set.Make(OT).t with type NodeSet.elt = OT.tval dag : ('diff, 'info, 'cdata) t -> ('diff, 'info, 'cdata) Dag.tval create_property : ('e, 'i, 'c) t -> id list -> 'c -> ('e, 'i, 'c) tval gc : ('e, 'info, 'c) t -> ('e, 'info, 'c) t * Dag.NodeSet.tval reachable : ('e, 'info, 'c) t -> id -> Dag.NodeSet.t