Re: [PATCH v2 40/43] refs: allow ref backend to be set for clone
From: Carlos Martín Nieto <hidden>
Date: 2016-06-15 23:06:49
On Tue, 2015-10-06 at 14:09 -0400, David Turner wrote:
On Mon, 2015-10-05 at 21:58 -0400, Jeff King wrote:quoted
On Mon, Oct 05, 2015 at 09:29:37PM -0400, David Turner wrote:quoted
quoted
Therefore, I don't think this can be merged without a bump to core.repositoryformatversion. Such a bump will tell well- behaved older Git clients keep their hands off the repository. (Of course repositories that use the files backend can continue using core.repositoryformatversion 0.) I thought Peff proposed a way to do such a bump, including a way to extend repositories one by one with new features. But that was something that we were chatting about off-list. I haven't reviewed the actual code in this patch yet but I wanted to get the above comment on your radar. MichaelI'll fix this to upgrade to v=1 when the lmdb refs backend is in use, and to give sensible error messages in a v1 repo if built without LMDB.I think the relevant series is: http://article.gmane.org/gmane.comp.version-control.git/272447 It did not seem too controversial, but it mostly got dropped amidst the release, and I haven't reposted it yet.That patch will work perfectly for this use case. I'll add it to my series when I reroll, and set an extension.
This is something I'm working on right now for libgit2 as well; not lmdb specifically but allowing user-provided backends, which would allow built-in ones as well. Did we ever decide on the format for these extensions? The series mentioned above has a couple of examples, but doesn't have any testing for backend stuff. Do we have a concrete proposal for this? I was going to go for something like extensions.refbackend = "lmdb" extensions.odbbackend = "psql" and have backends register themselves by the "lmdb", "psql" or whatever format, but if we have already decided something else which I missed, I'd swap over to that. Cheers, cmn