Subject: Re: Branch Name Case Sensitivity

From: Karsten Blees <[email-masked]>
Date: Mon, 03 Mar 2014 11:03:33 +0100

Am 01.03.2014 07:54, schrieb Torsten Bögershausen:
> On 2014-03-01 03.42, Lee Hopkins wrote:
>> +
>> +    if(ignore_case)
> Only looking at ignore_case here closes the door for people
> who have a branch "foo" and "Foo" at the same time.
> (Which means that they are carefully running git pack-refs)
> How about something like this:
>  +    if (refs_ignore_case < 0)
>  +      refs_ignore_case = ignore_case;
>  +    if (refs_ignore_case)

I don't think this distinction is necessary, either you have a case-insensitive file system or you don't. The case that the .git directory is case-sensitive and the worktree directory isn't (or the other way around) is probably so exotic that we can ignore it.

> (And then we need the diff further down on top of this.)
> (And of course Documentation/config.txt)
> The main motivation is that you can set refs.ignorecase == true on
> e.g. Linux, to prevent to have branches "Foo" and "foo" at the same time,
> which gives problems when pulling into e.g. Windows/Mac OS

If you want to prevent problems with Windows/Mac OS, you should set core.ignorecase = true. I don't see why we need yet another config setting for refs (and logs?).