Re: [PATCH] Demonstrate failure of 'core.ignorecase = true'
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Mar 22, 2012, 18:44 UTC
- Message-ID
- <7viphwxyp1.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <20120322173701.GA11928@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 19 quoted lines
> On Thu, Mar 22, 2012 at 09:57:23AM -0700, Junio C Hamano wrote: > >> Hrm, replacing unclear part with clarified text may make sense, but it >> would not help adding new text if the existing description is not clear >> enough. >> >> How about doing it like this? >> >> Case-insensitive filesystems like FAT and HFS+ have various strange >> behaviours, like reporting that a file "Makefile" already exists when >> the file that actually exists on them is "makefile". By setting this >> variable to `true`, Git employs logic to work around them. >> >> The default is false, except that git-clone[1] and git-init[1] will >> probe the filesystem and set it to `true` as necessary when a new >> repository is created. > > IMHO, it suffers from the same problem as the original, which is that it > does tells when to use core.ignorecase, but does not specify what
I wanted it to tell *what* happens when core.ignorecase is set. In other words, I wanted the description to say that the logic employed is to work around what case-insensitive filesystems do. Case sensitive filesystems obviously do not do what case-insensitive ones do (like reporting a "Makefile" exists when only "makefile" exists), so I hoped that it was clear enough that the additional logic would not be suitable there.
> happens when one sets core.ignorecase to true on a case-sensitive > filesystem. Maybe we should be more explicit about what _does_ happen in > that case (to be honest, I am not completely sure). Or just say that it > is not a supported use case.
I guess we really need to make the description foolproof then.
... exists on them is "makefile". By setting this
variable to `true`, Git employs logic to work around them.
Setting this to `true` on a case insensitive filesystem does
not make any sense, because it would not magically make your
system to treat your filesystem case insensitively.