RE: RFC/Pull Request: Refs db backend
- From
Randall S. Becker <rsbecker@nexbridge.com>
- Date
- Jun 23, 2015, 20:10 UTC
- Message-ID
- <005101d0adf0$964bca10$c2e35e30$@nexbridge.com>
- In-Reply-To
- <1435089895.28466.65.camel@twopensource.com>
Show 31 quoted lines
> -----Original Message----- > From: git-owner@vger.kernel.org [mailto:git-owner@vger.kernel.org] On > Behalf Of David Turner > Sent: June 23, 2015 4:05 PM > To: Stefan Beller > Cc: git mailing list; ronnie sahlberg > Subject: Re: RFC/Pull Request: Refs db backend > > On Tue, 2015-06-23 at 10:16 -0700, Stefan Beller wrote: > > > The db backend code was added in the penultimate commit; the rest is > > > just code rearrangement and minor changes to make alternate backends > > > possible. There ended up being a fair amount of this rearrangement, > > > but the end result is that almost the entire git test suite runs > > > under the db backend without error (see below for > > details). > > > > Looking at the end result in refs-be-db.c it feels like there are more > > functions in the refs_be_db struct, did this originate from other > > design choices? IIRC Ronnie wanted to have as least functions in there > > as possible, and share as much of the code between the databases, such > > that the glue between the db and the refs code is minimal. > > I didn't actually spend that much time reading Ronnie's backend code. > My code aims to be extremely thoroughly compatible. I spent a ton of time > making sure that the git test suite passed. I don't know if an alternate > approach would have been as compatible. > > The requirement for reflog storage did complicate things a bit. > > I also didn't see a strong need to abstract the database, since LMDB is common, > widely compatible, and tiny.
Just to beg a request: LMDB is not available on some MPP architectures to which git has been ported. If it comes up, I beg you not to add this as a dependency to base git components.
Thanks, Randall
-- Brief whoami: NonStop&UNIX developer since approximately UNIX(421664400)/NonStop(211288444200000000) -- In my real life, I talk too much.