package irmin-git

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Git backend

module Metadata : Irmin.Metadata.S with type t = [ `Normal | `Exec | `Link ]
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 level : int option Irmin.Private.Conf.key
val dot_git : string option Irmin.Private.Conf.key
module type VALUE_STORE = sig ... end
module Hash (G : VALUE_STORE) : Irmin.Hash.S with type t = Git.Hash.t

Hash is an implementation of Irmin hashes based on Git hashes.

Privides a subset of Irmin.Private.S (excludes branches and sync). This is useful if you want to store data in Git format, but do your own locking and sync.

module AO (G : Git.Store.S) (V : Irmin.Contents.Conv) : Irmin.AO with type t = G.t and type key = Irmin.Hash.SHA1.t and type value = V.t
module RW (G : Git.Store.S) (K : Irmin.Branch.S) : Irmin.RW with type key = K.t and type value = Irmin.Hash.SHA1.t
module type S = sig ... end

The Git backed specialized a few types:

module type S_MAKER = 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

The Git backed specialized a few types:

module type KV_MAKER = functor (C : Irmin.Contents.S) -> S with type key = string list and type step = string and type contents = C.t and type branch = string

The Git backed specialized a few types:

type reference = [
  1. | `Branch of string
  2. | `Remote of string
  3. | `Tag of string
  4. | `Other of string
]
module type REF_MAKER = functor (C : Irmin.Contents.S) -> S with type key = string list and type step = string and type contents = C.t and type branch = reference

The Git backed specialized a few types:

module type IO = sig ... end
module FS : sig ... end
module Mem : sig ... end
module type Branch = sig ... end
module Ref : Branch with type t = reference
module Make_ext (IO : IO) (S : Git.Store.S) (C : Irmin.Contents.S) (P : Irmin.Path.S) (B : Branch) : 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