Module Irmin_git

Git backend

module Metadata : Irmin.Metadata.S with type t = [ `Normal | `Exec | `Link | `Everybody ]
val config : ?⁠config:Irmin.config -> ?⁠head:Git.Reference.t -> ?⁠bare:bool -> ?⁠level:int -> ?⁠dot_git:string -> string -> Irmin.config
val bare : bool Irmin.Private.Conf.key
val head : Git.Reference.t option Irmin.Private.Conf.key
val level : int option Irmin.Private.Conf.key
val dot_git : string option Irmin.Private.Conf.key
module Content_addressable : functor (G : Git.S) -> functor (V : Irmin.Type.S) -> Irmin.CONTENT_ADDRESSABLE_STORE with type 'a t = bool Stdlib.ref * G.t and type key = G.Hash.t and type value = V.t
module Atomic_write : functor (G : Git.S) -> functor (K : Irmin.Branch.S) -> Irmin.ATOMIC_WRITE_STORE with type key = K.t and type value = G.Hash.t
module type G = sig ... end
module Mem : G with type Hash.t = Digestif.SHA1.t

In-memory Git store.

module type S = sig ... end
module type S_MAKER = functor (G : G) -> functor (S : Git.Sync.S with module Store := G) -> functor (C : Irmin.Contents.S) -> functor (P : Irmin.Path.S) -> functor (B : Irmin.Branch.S) -> 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 module Git = G and type Private.Sync.endpoint = S.Endpoint.t
module type KV_MAKER = functor (G : G) -> functor (S : Git.Sync.S with module Store := G) -> functor (C : Irmin.Contents.S) -> S with type key = string list and type step = string and type contents = C.t and type branch = string and module Git = G and type Private.Sync.endpoint = S.Endpoint.t
type reference = [
| `Branch of string
| `Remote of string
| `Tag of string
| `Other of string
]
module type REF_MAKER = functor (G : G) -> functor (S : Git.Sync.S with module Store := G) -> functor (C : Irmin.Contents.S) -> S with type key = string list and type step = string and type contents = C.t and type branch = reference and module Git = G and type Private.Sync.endpoint = S.Endpoint.t
module Make : S_MAKER
module Ref : REF_MAKER
module KV : KV_MAKER
module type BRANCH = sig ... end
module Branch : functor (B : Irmin.Branch.S) -> BRANCH
module Reference : BRANCH with type t = reference
module Make_ext : functor (G : G) -> functor (S : Git.Sync.S with module Store := G) -> functor (C : Irmin.Contents.S) -> functor (P : Irmin.Path.S) -> functor (B : BRANCH) -> 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
module Generic : functor (CA : Irmin.CONTENT_ADDRESSABLE_STORE_MAKER) -> functor (AW : Irmin.ATOMIC_WRITE_STORE_MAKER) -> functor (C : Irmin.Contents.S) -> functor (P : Irmin.Path.S) -> functor (B : Irmin.Branch.S) -> Irmin.S with type contents = C.t and type key = P.t and type branch = B.t and type step = P.step and type metadata = Metadata.t and type hash = Digestif.SHA1.t
module Generic_KV : functor (CA : Irmin.CONTENT_ADDRESSABLE_STORE_MAKER) -> functor (AW : Irmin.ATOMIC_WRITE_STORE_MAKER) -> functor (C : Irmin.Contents.S) -> Irmin.KV with type contents = C.t