include Reference.S with module Hash := Hash
type nonrec t = Reference.tmodule P : sig ... endval head : tval master : tval is_head : t -> boolval of_string : string -> tval to_string : t -> stringtype 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.tPretty-printer of head_contents.
val equal_head_contents : head_contents -> head_contents -> boolequal_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 -> intmodule A : sig ... endmodule M : sig ... endmodule D : sig ... endmodule E : sig ... endThe type of error.
mem ~fs ~root reference is true iff reference can be found in the git repository root. Otherwise, it is false.
val read : fs:FS.t -> root:Fpath.t -> t -> dtmp:Cstruct.t -> raw:Cstruct.t -> (head_contents, error) Stdlib.result Lwt.tread ~fs ~root reference dtmp raw is the value of the reference reference (available in the git repository root). dtmp and raw are buffers used by the decoder (respectively for the decoder as an internal buffer and the input buffer).
This function can returns an error.
val write : fs:FS.t -> root:Fpath.t -> temp_dir:Fpath.t -> etmp:Cstruct.t -> raw:Cstruct.t -> t -> head_contents -> (unit, error) Stdlib.result Lwt.twrite ~fs ~root ~raw reference value writes the value value in the mutable representation of the reference in the git repository root. raw is a buffer used by the decoder to keep the input.
This function can returns an error.