This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Lack of case-sensitive filename handling with git 1.7.9-1 for Cygwin 64-bit


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

Attachment: 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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]