Persistent, content-addressed Prolly trees whose physical representation is ordinary Git objects, and the versioned, Dolt-like database built on top of them.
A Prolly node is a Git tree, a node identity is the Git object id, and a
value’s identity is the root object id of its
facet-git-tree representation.
There is no second object store and no second Merkle-node format, so
reachability, deduplication, packing, fetching, garbage collection, and
git fsck all apply to the structure for free.
-
git-prolly— an ordered, content-addressed map whose nodes are Git trees: insert, remove, lookup, iteration, structural diff, and verification. -
git-database— a versioned database with a Dolt-like working state, commit, branch, diff, and merge surface, composed fromgit-prollyand compare-and-swap ref edits. A snapshot is a canonical Git tree; a database commit is an ordinary Git commit.
Compare-and-swap ref storage is consumed from
git-store as gix-refstore, over a git
dependency.
cargo install --path crates/git-databaseThis builds the git-prolly binary, which exposes the database’s Dolt-shaped
db command surface.
git-prolly db init
git-prolly db table create users
git-prolly db put users alice '{"name":"Alice","role":"admin"}'
git-prolly db get users alice
git-prolly db status
git-prolly db diff
git-prolly db add users
git-prolly db commit -m 'seed users'
git-prolly db logexamples/git-db.sh runs the same walkthrough against a
temporary repository; benchmarks/ compares the db
surface with Dolt.
-
git-prolly— the defining invariant, representation, determinism, and module layout. -
git-database— the snapshot format, the workspace model, and merge semantics. -
docs/git-prolly-development-plan.adoc— the plan for the database layer abovegit-prolly. -
CONCEPTS.adoc— the concept inventory behind the repository and ref vocabulary.
-
CONTRIBUTING.adoc— contribution guide. -
CONDUCT.adoc— code of conduct.