Irmin, a distributed database that follows the same design principles as Git
Parameter #1 Irmin . Of_backend . B
module Schema : Schema.S
module Hash : Hash.S with type t = Schema.Hash.t

Internal hashes.

Backend content store.

module Contents : Contents.Store with type hash = Hash.t and type value = Schema.Contents.t

Backend node 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.Metadata
module Node_portable : sig ... end

Backend commit store.

module Commit : Commit.Store with type hash = Hash.t and type Val.node_key = Node.key and module Info = Schema.Info
module Commit_portable : sig ... end
module Branch : Branch.Store with type key = Schema.Branch.t and type value = Commit.key

Backend branch store.

module Slice : sig ... end

Backend slices.

module Repo : sig ... end

Backend repositories.

module Remote : sig ... end

URI-based low-level remote synchronisation.