module type S = sig ... end
Contents of type
string, with the default 3-way merge strategy: assume that update operations are idempotent and conflict iff values are modified concurrently.
String above, but the hash computation is compatible with versions older than irmin.3.0
Json contents are associations from strings to
json values stored as JSON encoded strings. If the same JSON key has been modified concurrently with different values then the
merge function conflicts.
Json_value allows any kind of json value to be stored, not only objects.
module V1 : sig ... end
module type Store = sig ... end
module Store (S : Content_addressable.S) (H : Hash.S with type t = S.key) (C : S with type t = S.value) : Store with type 'a t = 'a S.t and type key = H.t and type hash = H.t and type value = C.t
Store creates a contents store.
module Store_indexable (S : Indexable.S) (H : Hash.S with type t = S.hash) (C : S with type t = S.value) : Store with type 'a t = 'a S.t and type key = S.key and type value = S.value and type hash = S.hash
Store_indexable is like
Store but uses an indexable store as a backend (rather than a content-addressable one).