I have been using Cygwin 32-bit on Windows 7 Profession 64-bit. I had the HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ObCaseInsensitive registry key set to DWORD 0x00000000 and case-sensitive filename handling has been fully working in Cygwin 32-bit (as far as I can tell from my usage anyway).
Now that Cygwin 64-bit has been released, I want to try it. I notice that git in Cygwin 64-bit does not seem to correctly handle filesname that differ only by case. To reproduce, create a repository in Cygwin 32-bit *with the aforementioned registry key set*: $ git init case_sensitivity_test; cd case_sensitivity_test Create two files of different content with similar filenames that differ only by case: $ echo 'FOO' > FOO.TXT; echo 'foo' > foo.txt Commit them into the repository: $ git add .; git commit -m 'Initial commit' [master (root-commit) 16d1b59] Initial commit 2 files changed, 2 insertions(+), 0 deletions(-) create mode 100644 FOO.TXT create mode 100644 foo.txt In Cygwin 32-bit, this looks all green: $ git status # On branch master nothing to commit (working directory clean) $ ls FOO.TXT foo.txt Now, fire up the Cygwin64 terminal and browse to the repository, then: $ ls FOO.TXT foo.txt $ cat FOO.TXT FOO $ cat foo.txt foo So `ls` and `cat` both recognize the two different files. However: $ git status # On branch master # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: foo.txt # no changes added to commit (use "git add" and/or "git commit -a") "Oops." Attached is the (censored) cygcheck output in Cygwin 64-bit. Best Regards, Kal
cygcheck.out
Description: Binary data
-- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple