On Mon, 2015-10-05 at 11:32 +0200, Michael Haggerty wrote: > On 09/29/2015 12:02 AM, David Turner wrote: > > Add a new option, --refs-backend-type, to allow the ref backend type to > > be set on new clones. > > > > Submodules must use the same ref backend as the parent repository, so > > we also pass the --refs-backend-type option option when cloning > > submodules. > > If I'm reading this correctly, you propose to add a new configuration > setting, > > core.refs-backend-type > > to record which reference backend the repository is using. > > (By the way, please document any new config settings in > Documentation/config.txt.) Fixed, thanks. > This does not provide adequate backwards compatibility. Suppose I create > a repository with a DB backend, then later try to access the repository > using an older version of Git (or JGit or libgit2 or ...) that doesn't > know about this configuration setting. It will think it is a normal > repository that only has a couple of references (HEAD, stash, etc). If I > run `git gc` using the older version of git, *poof* all of the objects > referred to by other branches will be garbage-collected. > > 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. > > Michael I'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. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html