
gitty_driver_bdb.pl -- Gitty BDB driverThis version of the driver uses library(bdb), the BerkeyDB database. This driver is particularly suited for large numbers of files. The store uses less disk space and starts much faster on large numbers of files.
The BDB database file contains two databases:
heads maps a file name to the hash of the last objectobjects contains the object blobs.
gitty_close(+Store) is det
gitty_file(+Store, ?File, ?Head) is nondet
gitty_update_head(+Store, +Name, +OldCommit, +NewCommit) is det-.
This operation can fail because another writer has updated the head. This can both be in-process or another process.
delete_head(+Store, +Name) is det
set_head(+Store, +File, +Hash) is det
load_plain_commit(+Store, +Hash, -Meta:dict) is semidet
store_object(+Store, +Hash, +Header:string, +Data:string) is det
load_object(+Store, +Hash, -Data, -Type, -Size) is det
gitty_hash(+Store, ?Hash) is nondet
delete_object(+Store, +Hash)