Johannes Schindelin <[email protected]> writes:

> Hi Junio,
>
> On Mon, 30 Oct 2017, Junio C Hamano wrote:
>
>> * jc/branch-name-sanity (2017-10-14) 3 commits
>>   (merged to 'next' on 2017-10-16 at 174646d1c3)
>>  + branch: forbid refs/heads/HEAD
>>  + branch: split validate_new_branchname() into two
>>  + branch: streamline "attr_only" handling in validate_new_branchname()
>> 
>>  "git branch" and "git checkout -b" are now forbidden from creating
>>  a branch whose name is "HEAD".
>
> Question: should we respect core.ignoreCase and if it is true, compare
> case-insensitively? Or should we just keep the comparison
> case-sensitively, in preparation for a (hopefully near) refs backend that
> does not inherit filesystems' case-insensitivity?

While I do think it would be good if the system as a whole somewhere
we had a safety to say "We do not allow hEaD as branch name as you
are using the files-backend as your reference storage on a case
insensitive filesystem", I do not think it is a good idea to do so
in the layer the above patches touch.  Once a more capable ref
backend comes (Shawn's reftable, anybody???), platforms with case
insensitive filesystems can allow refs/heads/hEaD as a branch whose
name is hEaD that is different from another branch whose name is
hEAD just fine; having the "we are on icase system, so reject" check
at the layer would mean we need to remember we have such a check at
a wrong layer and revert it when such an improvement happens.




Reply via email to