irmin-unix

Unix backends for Irmin
IN THIS PACKAGE
Module Irmin_unix . Git . Backend . G . 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
module Tag : Git.Tag.S with type hash = hash
val blob : Blob.t -> t
val commit : Commit.t -> t
val tree : Tree.t -> t
val tag : Tag.t -> t
val kind : t -> [ `Commit | `Blob | `Tree | `Tag ]

kind o returns the kind of the Git object.

val format : t Encore.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 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 ] ) result
val of_raw : kind:[ `Commit | `Blob | `Tree | `Tag ] -> Cstruct.t -> ( t, [> `Msg of string ] ) result
val stream : t -> unit -> string option Lwt.t