Subject: Re: [git-for-windows] Case insensitive branch names

From: Junio C Hamano <[email-masked]>
Date: Mon, 21 Dec 2015 09:37:08 -0800

Duy Nguyen <[email-masked]> writes:

> On Mon, Dec 21, 2015 at 6:01 PM, Philip Oakley <[email-masked]> wrote:
>> On the Git User's list, Diego J. reported that:
>>
>> 'When I "checkout" a branch using different Upper Case/Lower Case than the
>> original, the branch doesn't show in "git branch [--list]"' [1]
>>
>> While case sensitivity for filenames is a common issue on Windows and the
>> like, I haven't seen any discussion regarding ref name sensitivity - any
>> pointers to past discussions?
>
> Multiple ref backend [1] should solve this.

Yup, I had the same reaction.  Instead of restricting the namespace
of branches even on systems that do not have this problem, use a ref
backend that is not limited by the underlying filesystem.  A much
better solution.

In addition to the LMDB backend, it might not be a bad idea to add
another filesystem-based backend that encodes the refnames safely on
case insensitive or case destroying filesystem.  That way, those who
do not want an extra dependency but do want case sensitive refnames
would have an option, and having two non-default backends with quite
different semantics may be a good way to ensure that the API for
refs backend is kept sane.