On Thu, 28 Aug 2014 00:48:22 -0700 (PDT)
Alcolo Alcolo <alcol...@gmail.com> 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 git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to