package irmin

  1. Overview
  2. Docs

The modules that define a complete Irmin backend. Apply an implementation to Of_backend to create an Irmin store.

module Schema : Schema.S

A store schema, meant to be provided by the user.

module Hash : Hash.S with type t = Schema.Hash.t

Hashing implementation.

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

A 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.Metadata

A 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.step

A 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.Info

A commit store.

module Commit_portable : Backend.{Commit_portable}2 with type commit := Commit.value and type hash := Hash.t and module Info = Schema.Info

A 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.key

A branch store.

module Slice : sig ... end

A slice abstraction.

module Repo : sig ... end

A repo abstraction.

module Remote : sig ... end

URI-based low-level remote synchronisation.

OCaml

Innovation. Community. Security.