On Tue, Sep 21, 2004 at 07:44:39AM +0900, Ara.T.Howard / noaa.gov wrote:
> have you seen this?
> 
> http://repetae.net/~john/computer/vsdb/
> 
> super cool idea - but crashes alot.  i have a little c binding for testing

heh looks like http://cr.yp.to/cdb.html with rewrite-on-update (have to
read the code to make sure but it's 1am)
I believe something like rdbm would be better (http://www.fefe.de/rdbm/).

> only if you are interested.  what's the concept of your fs db?

I first learned about this approach via Eivind Eklund when talking about
OVCS.  It's the method used by Subversion and monotone (AFAIR): index
data by its digest. A number of interesting things happen when you do so:
* full-tree versioning
* "implicit deltas" and fairly efficient compression of the data
* ...

I implemented a toy version control system on top of that which could host
itself in a couple days and ~500LoCs; it had O(1) branching, could manage
renaming, used implicit deltas and transparent compression of the data.

This can work on top of any structure able to hold  key -> value
associations (where both are strings), so you can use any of the dbs
(gdbm, ndbm, sdbm, bdb, etc) or even a full-fledged rdbms if you want
(as done by monotone), but it could also work in-mem with a simple Hash
and serialization via Marshal, etc...

-- 
Running Debian GNU/Linux Sid (unstable)
batsman dot geo at yahoo dot com