git-unix

Virtual package to install and configure ocaml-git's Unix backend
Library git-unix
Module Git_unix . Make . Value . Blob
type hash = hash
type nonrec t = Git.Blob.t
val digest : t -> hash

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 pp : t Fmt.t

Pretty-printer of t.

val compare : t -> t -> int

The comparison function for t.

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.

val equal : t -> t -> bool

The equal function for t.

Sets and Maps.

module Set : Set.S with type elt = t
module Map : Map.S with type key = t
val length : t -> int64
val of_cstruct : Cstruct.t -> t

of_cstruct cs is the blob from the given Cstruct.t cs. This function does not take the ownership on cs.

Note. If the user set the given cs, it updates the blob too. This function does not copy the given Cstruct.t.

let cs = Cstruct.of_string "Hello" in
let blob = Blob.of_cstruct cs in
Blob.digest blob ;;
- : hash = 5ab2f8a4323abafb10abb68657d9d39f1a775057
Cstruct.set_char cs 0 'V' ;;
- : unit = ()
Blob.digest blob ;;
- : hash = 4081c40614b490bea69ea2ed8fdfdb86f04b5579
val to_cstruct : t -> Cstruct.t

to_cstruct blob is the Cstruct.t from the given blob. This function does not create a fresh Cstruct.t,

val of_string : string -> t

of_string str is the blob from the given string str.

Note. Despite of_cstruct, of_string does a copy of the given string.

val to_string : t -> string

to_string blob is the string from the given blob.