* RE: [cygwin] Re: Lack of case-sensitive filename handling with git 1.7.9-1 for Cygwin 64-bit
[not found] ` <20130816081743.GC2562@calimero.vinschen.de>
@ 2013-08-16 11:54 ` Jason Pyeron
2013-08-16 13:21 ` Jeff King
0 siblings, 1 reply; 2+ messages in thread
From: Jason Pyeron @ 2013-08-16 11:54 UTC (permalink / raw)
To: 'Git List'
I just saw this on the cygwin list.
> -----Original Message-----
> From: Corinna Vinschen
> Sent: Friday, August 16, 2013 4:18
> To: cygwin@cygwin.com
> Subject: [cygwin] Re: Lack of case-sensitive filename
> handling with git 1.7.9-1 for Cygwin 64-bit
>
> On Aug 16 10:32, Kal Sze wrote:
> > 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."
>
> The interesting thing here is, if you try this the other way
> around, you'll see the exact same effect. If you created the
> above git repo with 64 bit git, everything works exactly as
> in the 32 bit version and the two files are correctly recognized.
>
> I assume the format of the git database files depends on the
> architecture. Therefore it's probably not advisable to use a
> git repo created under 32 bit git with a 64 bit git and vice versa.
Is this the best explanation for this?
>
>
> Corinna
>
> --
> Corinna Vinschen Please, send mails
> regarding Cygwin to
> Cygwin Maintainer cygwin AT cygwin DOT com
> Red Hat
>
--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- -
- Jason Pyeron PD Inc. http://www.pdinc.us -
- Principal Consultant 10 West 24th Street #100 -
- +1 (443) 269-1555 x333 Baltimore, Maryland 21218 -
- -
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
This message is copyright PD Inc, subject to license 20080407P00.
^ permalink raw reply [flat|nested] 2+ messages in thread