From: Junio C Hamano Date: Mon, 11 Sep 2006 05:27:26 GMT Subject: Re: Change set based shallow clone Message-ID: <7vac57nfb5.fsf@assigned-by-dhcp.cox.net> In-Reply-To: <20060911024434.GA29368@spearce.org> Shawn Pearce writes: > Jakub Narebski wrote: >> Junio C Hamano wrote: >> >> > the impact of changing the >> > one-file-per-ref implementation to something based on a single >> > simple databasy file (e.g. gdbm, bdb, sqlite, ...) >> >> One of the complaints against Subversion was that it use BerkeleyDB >> (bdb) backend... but it was before it acquired fsfs interface. Perhaps >> we could use it too. > > I'm against the latest Berkely DB (Sleepy Cat) implementations. > Every time I've stored data in them or in applications which use > them I've lost everything. GNU dbm might not be too bad. SQL Lite > is overkill. >... > This is probably something that is easily solved by a simple fixed > record format holding a 20 byte SHA1 (binary) and a fixed width null > terminated string holding the ref name, with the records sorted > by ref name. Its yet another file format with yet another set of > utilities needed but we pretty much have those (update-ref). Yup. That is one reasonable implementation of "single simple databasy file" I suggested. Or we could just borrow .git/info/refs format.