From: Michael Haggerty Date: Sat, 24 Jun 2017 11:14:42 GMT Subject: Re: [PATCH v2 00/29] Create a reference backend for packed refs Message-ID: <57a15496-ab0b-97fc-b6a2-8c2526f2c5d3@alum.mit.edu> In-Reply-To: <20170624011131.5kgmzgpb4vtwikk5@sigill.intra.peff.net> On 06/24/2017 03:11 AM, Jeff King wrote: > On Fri, Jun 23, 2017 at 02:47:01PM -0700, Junio C Hamano wrote: > >>> Speculating on my own question. I guess it would prepare us for a day >>> when a possible ref store is to use a packed-refs _without_ loose refs. >>> IOW, the property is defined on packed-refs today, but a possible future >>> direction would be to use it by itself. But maybe I'm just making things >>> up. >> >> OK. In other words, it's not a packed-refs's characteristics that >> cruft are allowed. It's that a ref storage that is implemented as >> an overlay of one storage (which happens to be the loose one) on top >> of another (which happens to be the packed refs file) allows the >> latter one to have cruft if (and only if) that broken one is covered >> by the former one. > > Thanks, that's a much better way of saying what I was trying to get at. > I don't know if that's Michael's argument or not, but it's certainly one > I find reasonable. :) That was exactly my thinking. A packed-without-loose storage scheme might, for example, be interesting for people with case-insensitive or strangely-Unicode-normalized filesystems but have colleagues who like to use case or Unicode in their reference names. (Of course that would still require a way to store symbolic refs and reflogs, so I'm not saying that we're there yet.) I also think it is a good idea to keep the backends' interfaces as similar as possible to reduce the number of quirks that the reader has to keep in mind. Michael