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

Reply via email to