threads / discuss / 26232

Why don't git-init and git-clone probe for core.ignorecase on Windows > XP?

Subject: Why don't git-init and git-clone probe for core.ignorecase on Windows > XP?

## tl;dr

3 messages between Jan 7, 2011 and Jan 24, 2011.

replies: 2people: 2as markdown or json

Dun Peal· Jan 7, 2011, 18:34 UTC · lore
Hello.
The git-config manpage says about core.ignorecase:

"The default is false, except git-clone(1) or git-init(1) will probe and set core.ignorecase true if appropriate when the repository is created."

I assume this is happening when you clone or init on FAT, which is explicitly mentioned earlier in that section. But apparently it doesn't happen for either XP, Vista or 7. While those newer releases use NTFS, which technically supports case-sensitivity, the operating itself still apparently doesn't, so it would seem like git-clone and git-init should probe regarding the core.ignorecase on any version of Windows, no?

Thanks, D
Junio C Hamano· Jan 7, 2011, 20:18 UTC · re: Dun Peal · lore

Re: Why don't git-init and git-clone probe for core.ignorecase on Windows > XP?

Dun Peal <dunpealer@gmail.com> writes:
Show 13 quoted lines
> The git-config manpage says about core.ignorecase:
>
> "The default is false, except git-clone(1) or git-init(1) will probe
> and set core.ignorecase true if appropriate when the repository is
> created."
>
> I assume this is happening when you clone or init on FAT, which is
> explicitly mentioned earlier in that section. But apparently it
> doesn't happen for either XP, Vista or 7. While those newer releases
> use NTFS, which technically supports case-sensitivity, the operating
> itself still apparently doesn't, so it would seem like git-clone and
> git-init should probe regarding the core.ignorecase on any version of
> Windows, no?

Sorry, but it is unclear if you are complaining that core.ignorecase is set (but you believe it shouldn't be) or it is not set (but you believe it should be) on NTFS from the description.

As far as I can tell from the code (I obviously only look at the plain vanilla git, and msysgit might have some patch to this part, I dunno. Oh by the way you didn't say which version you are complaining about, either), we do the probing on all systems (including POSIX folks with FAT filesystem mounted) by first creating .git/config and then checking if a file .git/CoNfIg which we know we never created can be accessed. If we can, that means the filesystem ignores case, iow, we cannot have two files config and CoNfIg at the same time, and set core.ignorecase to true.

Dun Peal· Jan 24, 2011, 21:15 UTC · re: Junio C Hamano · lore

Re: Why don't git-init and git-clone probe for core.ignorecase on Windows > XP?

Thanks Junio, this question was due to a misunderstanding on my part:

For some reason, I thought "probe" in the man meant asking the user whether core.ignorecase should be set. I vaguely recall there's another (also Windows-related) setting that is interactively queried like that.

Following your reply I tested with recent (1.7) installations of msysgit and core.ignorecase is set automatically to true in .git/config for newly created / cloned repo on NTFS over Windows 7.

Thanks again and sorry for the misunderstanding, D.
On Fri, Jan 7, 2011 at 2:18 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 29 quoted lines
> Dun Peal <dunpealer@gmail.com> writes:
>
>> The git-config manpage says about core.ignorecase:
>>
>> "The default is false, except git-clone(1) or git-init(1) will probe
>> and set core.ignorecase true if appropriate when the repository is
>> created."
>>
>> I assume this is happening when you clone or init on FAT, which is
>> explicitly mentioned earlier in that section. But apparently it
>> doesn't happen for either XP, Vista or 7. While those newer releases
>> use NTFS, which technically supports case-sensitivity, the operating
>> itself still apparently doesn't, so it would seem like git-clone and
>> git-init should probe regarding the core.ignorecase on any version of
>> Windows, no?
>
> Sorry, but it is unclear if you are complaining that core.ignorecase is
> set (but you believe it shouldn't be) or it is not set (but you believe it
> should be) on NTFS from the description.
>
> As far as I can tell from the code (I obviously only look at the plain
> vanilla git, and msysgit might have some patch to this part, I dunno.  Oh
> by the way you didn't say which version you are complaining about,
> either), we do the probing on all systems (including POSIX folks with FAT
> filesystem mounted) by first creating .git/config and then checking if a
> file .git/CoNfIg which we know we never created can be accessed.  If we
> can, that means the filesystem ignores case, iow, we cannot have two files
> config and CoNfIg at the same time, and set core.ignorecase to true.
>

← back to recent threads