Irmin, a distributed database that follows the same design principles as Git
Module Irmin . KV_maker . Make . Backend
module Schema = Schema
module Hash = Hash

Internal hashes.

Backend content store.

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

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 with module Path = Path with type key = node_key
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 with type key = commit_key
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.