package octez-internal-libs
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=ddfb5076eeb0b32ac21c1eed44e8fc86a6743ef18ab23fff02d36e365bb73d61
sha512=d22a827df5146e0aa274df48bc2150b098177ff7e5eab52c6109e867eb0a1f0ec63e6bfbb0e3645a6c2112de3877c91a17df32ccbff301891ce4ba630c997a65
doc/octez-internal-libs.irmin/Irmin/Commit/index.html
Module Irmin.Commit
Source
Commit values represent the store history.
Every commit contains a list of predecessor commits, and the collection of commits form an acyclic directed graph.
Every commit also can contain an optional key, pointing to a node value. See the Node signature for more details on node values.
Maker
provides a simple implementation of commit values, parameterized by commit info.
Generic_key
generalises the concept of "commit" to one that supports object keys that are not strictly equal to hashes.
Portable form of a commit implementation that can be constructed from a concrete representation and used in computing hashes. Conceptually, a Commit.Portable.t
is a Commit.t
in which all internal keys have been replaced with the hashes of the values they point to.
module Store
(I : Info.S)
(N : Node.Store)
(S : Content_addressable.S with type key = N.key)
(H : Hash.S with type t = S.key)
(V : S with type hash = S.key and type t = S.value and module Info := I) :
Store
with type 'a t = 'a N.t * 'a S.t
and type key = S.key
and type hash = S.key
and type value = S.value
and module Info = I
and module Val = V
Store
creates a new commit store.
History
specifies the signature for commit history. The history is represented as a partial-order of commits and basic functions to search through that history are provided.
module History
(C : Store) :
History
with type 'a t = 'a C.t
and type v = C.Val.t
and type node_key = C.Node.key
and type commit_key = C.key
and type info = C.Info.t
Build a commit history.