Re: RFC/Pull Request: Refs db backend
- From
David Turner <dturner@twopensource.com>
- Date
- Jun 23, 2015, 20:04 UTC
- Message-ID
- <1435089895.28466.65.camel@twopensource.com>
- In-Reply-To
- <CAGZ79kap++fZx3X0D95d35XioRURU468xATDZpWHDOAPapAh+Q@mail.gmail.com>
On Tue, 2015-06-23 at 10:16 -0700, Stefan Beller wrote:
Show 13 quoted lines
> > 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.
Show 5 quoted lines
> Some random comments from looking over the branch briefly: > > In the latest commit, (refs: tests for db backend), I am unsure about > the copyright annotations. At least a sole "Copyright (c) 2007 Junio C > Hamano" doesn't make sense to me. ;)
Will fix, thanks.
> Typo in commit message "bisect: use refs insfrastructure for > BISECT_START"
Will fix, thanks.
> Some commits contain a ChangeId, which is a Gerrit leftover. :(
Those were leftover from Ronnie's patches; since you are a Googler and you think we don't need them, I'll remove them.