From: Torsten Bögershausen Date: Fri, 02 Nov 2012 20:05:16 GMT Subject: Re: Set core.ignorecase globally Message-ID: <5094277C.4060207@web.de> In-Reply-To: <20121102191516.e8b7d448ff76b45990e14b1d@domain007.com> Am 2012-11-02 16:15, schrieb Konstantin Khomoutov: > On Fri, 2 Nov 2012 19:03:37 +0400 > Konstantin Khomoutov wrote: > >>> Currently, core.ignorecase is set to true on case insensitive system >>> like Windows or Mac on `git init` and `git clone`, and this setting >>> is local to the created/cloned repository. >> [...] >>> I suggest to set this globally by default when Git is installed, >>> because there is little sense to have this option false on case >>> insensitive systems (it will lead to confusions when renaming a file >>> by changing only the case of letters). >> >> Case sensitivity is a property of a file system, not the OS. >> What if I mount a device with ext3 file system via ext2fsd driver in >> on my Windows workstation? extN have POSIX semantics so it's >> pointless to enforce case insensitivity on them. The same possibly >> applies to NFS mounts. >> >> Also note that NTFS (at least by default) is case insensitive but is >> case preserving, observe: > [...] > > On the other hand, on NTFS, if I unset core.ignorecase or set it to > false locally, `git mv foo Foo` fails to rename a tracked file "foo" > with the "destination file exists" error. I would say I would expect it > to work under the conditions I've just described. Not sure if this > thould be considered a bug in Git for Windows or not -- would be great > to hear opinions of the msysgit port developers. I once made a patch for git and we concluded that is is not worth to put that into main git because you always can do: git mv foo tmp && git mv tmp Foo or git mv -f foo Foo (But use the -f option with care) /Torsten