Library
Module
Module type
Parameter
Class
Class type
DataKit
is a concrete implementation of an Irmin store. It also allow to expose such store as a VFS directory.
Path
are list of strings, with constant-time rdecons
operations (e.g. to have efficient basename/dirname split).
Metadata
are similar to Git metadata.
Branch
are ASCII strings where '/'
is also allowed.
module Blob : sig ... end
Blob
are lists of cstructs, with constant-time append operations. This is optimized to store large files where contents is always appended (e.g. log files).
type blob = Blob.t
The type for blob contents.
module type S =
Irmin.S
with type key = path
and type contents = blob
and type branch = string
and type step = step
and type metadata = perm
and type Commit.Hash.t = hash
and type Tree.Hash.t = hash
and type Contents.Hash.t = hash
The type for DataKit stores. Similar to Irmin_git.S
but with specialized contents (optimized for append-operations), paths and branches.
module type GIT_S_MAKER =
functor (C : Irmin.Contents.S) ->
functor (P : Irmin.Path.S) ->
functor (B : Irmin.Branch.S) ->
Irmin.S
with type key = P.t
and type step = P.step
and module Key = P
and type contents = C.t
and type branch = B.t
and type metadata = perm
and type Commit.Hash.t = hash
and type Tree.Hash.t = hash
and type Contents.Hash.t = hash
Similar to Irmin_git.S_MAKER
module Make_git (M : GIT_S_MAKER) : S
Make a DataKit store from a Git-like Irmin backend.
module type VFS = sig ... end
The signature of an Irmin VFS servers.