package irmin-pack
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=7af11e14d312b9ae340997f8c27907b9fc9a0d19539fb643e1820d5183a76750
sha512=d7b61c6fddab0a8b61efe867b9a0fdc14c01eb1adeda2f5018b8dfee306c8324c77dd648c7cb9860e62a26e224955f9331b49d19cb693ad5d773efc53263d9fd
doc/irmin-pack.layered/Irmin_pack_layered/Checks/Make/argument-1-M/Private/Commit/index.html
Module Private.Commit
Private commit store.
Commit Store
Content-addressable stores
Content-addressable stores are store where it is possible to read and add new values. Keys are derived from the values raw contents and hence are deterministic.
The type for content-addressable backend stores. The 'a phantom type carries information about the store mutability.
type key = Hash.tThe type for keys.
val mem : [> Irmin.Perms.read ] t -> key -> bool Lwt.tmem t k is true iff k is present in t.
val find : [> Irmin.Perms.read ] t -> key -> value option Lwt.tfind t k is Some v if k is associated to v in t and None is k is not present in t.
val add : [> Irmin.Perms.write ] t -> value -> key Lwt.tWrite the contents of a value to the store. It's the responsibility of the content-addressable store to generate a consistent key.
val unsafe_add : [> Irmin.Perms.write ] t -> key -> value -> unit Lwt.tSame as add but allows to specify the key directly. The backend might choose to discared that key and/or can be corrupt if the key scheme is not consistent.
val merge :
[> Irmin.Perms.read_write ] t ->
info:Irmin.Info.f ->
key option Irmin.Merge.tmerge is the 3-way merge function for commit keys.
Key provides base functions for commit keys.
module Val : sig ... endVal provides functions for commit values.
module Node : sig ... endNode is the underlying node store.