irmin-mirage-git

MirageOS-compatible Irmin stores
IN THIS PACKAGE
type nonrec t = Git.Reference.t
module P : sig ... end
val head : t
val master : t
val is_head : t -> bool
val of_string : string -> t
val to_string : t -> string
val of_path : Git.Path.t -> t
val to_path : t -> Git.Path.t
val pp : t Fmt.t
val compare : t -> t -> int
val hash : t -> int
val equal : t -> t -> bool
module Set : Set.S with type elt = t
module Map : Map.S with type key = t
type head_contents =
| Hash of Hash.t(*

A pointer to an hash.

*)
| Ref of t(*

A reference which one can point to an other reference or an hash.

*)

The type of the value of a Git reference.

val pp_head_contents : head_contents Fmt.t

Pretty-printer of head_contents.

val equal_head_contents : head_contents -> head_contents -> bool

equal_head_contents a b implies a = Ref a' and b = Ref b' and Reference.equal a' b' = true or a = Hash a' and b = Hash b' and Hash.equal a' b'.

However, semantically Ref a' could be equal to Hash b' iff Hash b' is come from the reference a'. That means this function does not handle any indirection when it tests your values.

val compare_head_contents : head_contents -> head_contents -> int
module A : sig ... end
module M : sig ... end
module D : sig ... end
module E : sig ... end