On Thu, 28 Aug 2014 00:48:22 -0700 (PDT) Alcolo Alcolo <[email protected]> wrote:
[...] > > As to the problem at hand: try messing with the core.ignorecase > > Git configuration variable [1]. > > > > Note that NTFS (the file system used by default in Windows) is > > case *preserving* but case insensitive. That is, if you're > > creating a file named "bLAh", it will be stored exactly as "bLAh" > > but you won't be able to create an entry named "BlaH" in the same > > directory, and searching for "BlaH" will find "bLAh". > > Only in the default NTFS configuration: > Look at the meaning of > > HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel > \obcaseinsensitive=0 explain here > <https://cygwin.com/cygwin-ug-net/using-specialnames.html>. A little research I did brought up this [1] and this [2]. The two actually contradict each other in a small detail ([1] says this registry setting only applies to SUA and [2] says it applies to the whole POSIX layer) but they agree on the most crucial point: functions in the Win32 API ignore this setting; in particular, [2] says the only knob CreateFile[AW]() has to request POSIX-compatible behaviour simply does not work starting with Windows XP, and indeed [3] says that the POSIX subsystem was removed from the NT series of kernels starting with Windows XP/Windows Server 2003. This subsystem (and the whole "subsystem" thing, actually) was not really used by any visible project so they decided to kill the whole concept, I reckon (more information is available in [5], if you like). > I need it because my project is not *my* project, and it coming from > UNIX world and I have in the same directory the file 'a' and 'A'. I understand this, but you see, there's such thing as technical obstacles you can't really overcome or the cost of doing so it prohibitive. So I'd negotiate with the project's "owners" about taking measures to remedy the situation without rewriting Windows. > In can set core.ignorecase = false > but In my test, after mv a A git see the new file 'A' but don't see > any change on 'a'. > cygwin git does (with posix=1 in /cygdrive mount). > > How can I configure msys-git with mount option posix=1 for C:' ? Judging from the above arguments, I'm afraid, you can't: Git for Windows does not rely on a POSIX compatibility layer (like Cygwin tools do) and calls to Win32 API almost directly. "Almost" is because yes, MinGW does provide certain kludges to make software coming from POSIX feel better at home, and quite possibly some of them are used by Git for Windows, but the whole point of GfW is being a native Windows application, not relying on any compatibility layers, which means it can't really escape peculiarities of its target OS. If you feel like it, you might ask this question on the mailing list dedicated to the GfW development [4] and possibly get an answer from someone with direct experience with the GfW code base. 1. http://superuser.com/a/430645/130459 2. https://cygwin.com/ml/cygwin/2007-07/msg00891.html 3. http://en.wikipedia.org/wiki/Microsoft_POSIX_subsystem 4. https://groups.google.com/group/msysgit 5. https://www.samba.org/samba/news/articles/low_point/tale_two_stds_os2.html -- You received this message because you are subscribed to the Google Groups "Git for human beings" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
