hi all,
I'm preparing a new release of Torrus software, and it will replace BerkeleyDB back-end with Git.
It appears that libgit2 provides a new, a bit tricky in learning, but very efficient object storage, and change tracking is available out of the box.
In general, you can read and write your data objects directly in the Git repository, without the need of checking in and out the files in your filesystem. Also the objects can be automatically compacted, and that allows storing millions of objects without too much load on the filesystem resources and inode count.
Of course it's not a fully blown database, and not even something like MongoDB, but it really is usable and convenient for document storage systems.
Here are few working examples of using libgit2 (particularly, with its Perl binding, but it's similar in other programming languages):
https://github.com/ssinyagin/git_raw_excercise