Re: [RFC/WIP] Pluggable reference backends
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Mar 10, 2014, 17:46 UTC
- Message-ID
- <xmqqwqg2q752.fsf@gitster.dls.corp.google.com>
- In-Reply-To
- <20140310155230.GA29801@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 16 quoted lines
> On Mon, Mar 10, 2014 at 07:30:45AM -0700, Shawn Pearce wrote: > >> > * Store references in a SQLite database, to get correct transaction >> > handling. >> >> No to SQLLite in git-core. Using it from JGit requires building >> SQLLite and a JNI wrapper, which makes JGit significantly less >> portable. I know SQLLite is pretty amazing, but implementing >> compatibility with it from JGit will be a big nightmare for us. > > That seems like a poor reason not to implement a pluggable feature for > git-core. If we implement it, then a site using only git-core can take > advantage of it. Sites with JGit cannot, and would use a different > pluggable storage mechanism that's supported by both. But if we don't > implement, it hurts people using only git-core, and it does not help > sites using JGit at all.
We would need to eventually have at least one backend that we know will play well with different Git implementations that matter (namely, git-core, Jgit and libgit2) before the feature can be widely adopted.
The first backend that is used while the plugging-interface is in development can be anything and does not have to be one that eventual ubiquitous one, however; as long as it is something that we do not mind carrying it forever, along with that final reference backend. I take the objection from Shawn only as against making the sqlite that final one.