This library provides a first implementation of a lightweight versioned file store with dynamic meta-data. The store is partly modelled after GIT. Like GIT, it uses a content-based store. In fact, the stored objects are compatible with GIT. Unlike GIT though, there are no trees. Each entry (file) has its own history. Each commit is associated with a dict that can carry aribitrary meta-data. The following fields are reserved for gitties bookkeeping:
The key commit
is reserved and returned as part of the meta-data of
the newly created (gitty_create/5) or updated object (gitty_update/5).
files
or bdb
. When
omitted and the store exists, the current store is
examined. If the store does not exist, the default
is files
.
Other options are passed to the driver method gitty_open(Store,
Options)
.
commit
is
added to the meta-data to specify the commit hash.history
with a list of dicts
representating the history of Name in Store. The toplevel dict
also contains skipped
, indicating the number of skipped items
from the HEAD. Options:
previous
of
FileOrHash2. Returns _{initial:true} if Hash1 is unbound and
FileOrHash2 is the initial commit. Dict contains:
udiff(L1,S1,L2,S2,Diff)
Diff is a list holding
The following predicates are exported from this file while their implementation is defined in imported modules or non-module files loaded by this module.