Make.Value
type hash = hash
type nonrec t = hash Git.Value.t
OCaml value which represents a Git object.
module Blob : Git.Blob.S with type hash = hash
module Commit : Git.Commit.S with type hash = hash
module Tree : Git.Tree.S with type hash = hash
val kind : t -> [ `Commit | `Blob | `Tree | `Tag ]
kind o
returns the kind of the Git object.
val format : t Encore.t
digest t
associates a hash
to any value of t
. It is guaranteed that if x = y
or compare x y = 0
, then digest x = digest y
.
val hash : t -> int
hash blob
associates a non-negative integer to any value of t
. It is guaranteed that if x = y
or compare x y = 0
, then hash x = hash y
.
module Set : Stdlib.Set.S with type elt = t
module Map : Stdlib.Map.S with type key = t
val length : t -> int64
val length_with_header : t -> int64
length_with_header t
is length t
plus the length of the header.
val to_raw : t -> string
val to_raw_without_header : t -> string
val of_raw_with_header :
?off:int ->
?len:int ->
string ->
(t, [> `Msg of string ]) Stdlib.result
val of_raw :
kind:[ `Commit | `Blob | `Tree | `Tag ] ->
Cstruct.t ->
(t, [> `Msg of string ]) Stdlib.result
val stream : t -> unit -> string option Lwt.t