Backend.SThe modules that define a complete Irmin backend. Apply an implementation to Of_backend to create an Irmin store.
module Hash : Hash.S with type t = Schema.Hash.tHashing implementation.
module Contents :
Contents.Store with type hash = Hash.t and type value = Schema.Contents.tA contents store.
module Node :
Node.Store
with type hash = Hash.t
and type Val.contents_key = Contents.key
and module Path = Schema.Path
and module Metadata = Schema.MetadataA node store.
module Node_portable :
Backend.{Node_portable}1
with type node := Node.value
and type hash := Hash.t
and type metadata := Schema.Metadata.t
and type step := Schema.Path.stepA node abstraction that is portable from different repos. Similar to Node.Val.
module Commit :
Commit.Store
with type hash = Hash.t
and type Val.node_key = Node.key
and module Info = Schema.InfoA commit store.
module Commit_portable :
Backend.{Commit_portable}2
with type commit := Commit.value
and type hash := Hash.t
and module Info = Schema.InfoA commit abstraction that is portable from different repos. Similar to Commit.Val.
module Branch :
Branch.Store with type key = Schema.Branch.t and type value = Commit.keyA branch store.
module Slice : sig ... endA slice abstraction.
module Repo : sig ... endA repo abstraction.
module Remote : sig ... endURI-based low-level remote synchronisation.