Module Index.Make

Parameters

module Store : Git.S
module FS : Git.FS
module Entry : ENTRY with type hash := Store.Hash.t

Signature

module StringMap : Stdlib.Map.S with type key = string
type 'entry elt =
| Blob of 'entry
| Tree of 'entry elt StringMap.t
and 'entry t =
| Root of 'entry elt StringMap.t
val pp : Entry.entry t Fmt.t
val of_entries : Entry.entry list -> Entry.entry t
val to_entries : to_entry:(Git.Path.t -> 'a -> 'b) -> 'a t -> 'b list
type error
val pp_error : error Fmt.t
type file = [
| `Everybody
| `Exec
| `Normal
]
type directory = [
| `Dir
]
val int_of_perm : file -> int
val entry_of_stats : Store.Hash.t -> Git.Path.t -> ?⁠gitlink:bool -> Unix.stats -> Entry.entry
val write_blob : root:Fpath.t -> FS.t -> Git.Path.t -> (Store.Value.Tree.perm * Cstruct.t) -> (Entry.entryerror) Stdlib.result Lwt.t
val write_blob_entry : Store.t -> FS.t -> Git.Path.t -> Entry.entry -> (Entry.entryerror) Stdlib.result Lwt.t
val write_tree : root:Fpath.t -> FS.t -> Git.Path.t -> (unit, error) Stdlib.result Lwt.t
val load_entries : Store.t -> FS.t -> dtmp:Cstruct.t -> (Entry.entry listerror) Stdlib.result Lwt.t
val store_entries : Store.t -> FS.t -> dtmp:Cstruct.t -> Entry.entry list -> (unit, error) Stdlib.result Lwt.t
module Write : sig ... end
module Read : sig ... end
module Snapshot : sig ... end