{"thread":{"id":"6645","subject":"git and file name case on cygwin","startedAt":"2007-02-03T22:00:40Z","lastAt":"2007-02-04T15:01:31Z","messageCount":9,"participants":["Niklas Höglund","Linus Torvalds","Junio C Hamano","Mark Levedahl","Jakub Narebski","Sam Ravnborg"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"33493","messageId":"ad8ce5c20702031400h78ddc11o34f98a461339bb55@mail.gmail.com","threadId":"6645","inReplyTo":null,"subject":"git and file name case on cygwin","fromName":"Niklas Höglund","fromEmail":"nhoglund@gmail.com","sentAt":"2007-02-03T22:00:40Z","receivedAt":"2007-02-03T22:00:40Z","isPatch":false,"sender":{"key":"nhoglund@gmail.com","avatar":"https://gravatar.com/avatar/7bacd9636e9e8e382a629679b90867195d3827a68acfe3094e59788afc1df9ac?d=mp&s=160"},"body":"There's something funny going on with git in cygwin. The following is\nin a clone of linux 2.6, with no local modifications (only the\noccasional pull from upstream).\n\nNiklas Hoglund@NIKLAS /c/linux-2.6\n$ git pull\nremote: Generating pack...\nremote: Done counting 220 objects.\nremote: Result has 154 objects.\nremote: Deltifying 154 objects.\nremote:  100% (154/154) done\nUnpacking 154 objects\nremote: Total 154, written 154 (delta 124), reused 105 (delta 86)\n 100% (154/154) done\n* refs/heads/origin: fast forward to branch 'master' of\ngit://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n  old..new: a7ec3f5..05a8057\nUpdating a7ec3f5..05a8057\ninclude/linux/netfilter/xt_CONNMARK.h: needs update\ninclude/linux/netfilter/xt_DSCP.h: needs update\ninclude/linux/netfilter/xt_MARK.h: needs update\ninclude/linux/netfilter_ipv4/ipt_CONNMARK.h: needs update\ninclude/linux/netfilter_ipv4/ipt_DSCP.h: needs update\ninclude/linux/netfilter_ipv4/ipt_ECN.h: needs update\ninclude/linux/netfilter_ipv4/ipt_MARK.h: needs update\ninclude/linux/netfilter_ipv4/ipt_TCPMSS.h: needs update\ninclude/linux/netfilter_ipv4/ipt_TOS.h: needs update\ninclude/linux/netfilter_ipv4/ipt_TTL.h: needs update\ninclude/linux/netfilter_ipv6/ip6t_HL.h: needs update\ninclude/linux/netfilter_ipv6/ip6t_MARK.h: needs update\nnet/ipv4/netfilter/ipt_ECN.c: needs update\nnet/ipv4/netfilter/ipt_TOS.c: needs update\nnet/ipv4/netfilter/ipt_TTL.c: needs update\nnet/ipv6/netfilter/ip6t_HL.c: needs update\nnet/netfilter/xt_CONNMARK.c: needs update\nnet/netfilter/xt_DSCP.c: needs update\nnet/netfilter/xt_mark.c: needs update\nFast forward\n MAINTAINERS                         |    6 +-\n arch/i386/kernel/acpi/boot.c        |    2 +-\n drivers/acpi/ec.c                   |    2 +-\n drivers/hid/Kconfig                 |   18 +++-\n drivers/net/Space.c                 |   11 --\n drivers/net/ifb.c                   |    4 +-\n drivers/net/loopback.c              |    4 +-\n drivers/net/sungem.c                |    3 +-\n drivers/net/sungem_phy.c            |  179 ++++++++++++++++++++++++++++++-----\n drivers/net/sungem_phy.h            |    7 +-\n drivers/usb/input/Kconfig           |    6 +-\n drivers/video/backlight/corgi_bl.c  |    2 +-\n drivers/video/backlight/hp680_bl.c  |    2 +-\n\nNiklas Hoglund@NIKLAS /c/linux-2.6\n$ git status\n# Changed but not updated:\n#   (use git-update-index to mark for commit)\n#\n#       modified:   include/linux/netfilter/xt_CONNMARK.h\n#       modified:   include/linux/netfilter/xt_DSCP.h\n#       modified:   include/linux/netfilter/xt_MARK.h\n#       modified:   include/linux/netfilter_ipv4/ipt_CONNMARK.h\n#       modified:   include/linux/netfilter_ipv4/ipt_DSCP.h\n#       modified:   include/linux/netfilter_ipv4/ipt_ECN.h\n#       modified:   include/linux/netfilter_ipv4/ipt_MARK.h\n#       modified:   include/linux/netfilter_ipv4/ipt_TCPMSS.h\n#       modified:   include/linux/netfilter_ipv4/ipt_TOS.h\n#       modified:   include/linux/netfilter_ipv4/ipt_TTL.h\n#       modified:   include/linux/netfilter_ipv6/ip6t_HL.h\n#       modified:   include/linux/netfilter_ipv6/ip6t_MARK.h\n#       modified:   net/ipv4/netfilter/ipt_ECN.c\n#       modified:   net/ipv4/netfilter/ipt_TOS.c\n#       modified:   net/ipv4/netfilter/ipt_TTL.c\n#       modified:   net/ipv6/netfilter/ip6t_HL.c\n#       modified:   net/netfilter/xt_CONNMARK.c\n#       modified:   net/netfilter/xt_DSCP.c\n#       modified:   net/netfilter/xt_mark.c\n#\nnothing to commit\n\nNiklas Hoglund@NIKLAS /c/linux-2.6\n$ git reset --hard\n\nNiklas Hoglund@NIKLAS /c/linux-2.6\n$ git pull\nAlready up-to-date.\n\nNiklas Hoglund@NIKLAS /c/linux-2.6\n$ git status\n# Changed but not updated:\n#   (use git-update-index to mark for commit)\n#\n#       modified:   include/linux/netfilter/xt_connmark.h\n#       modified:   include/linux/netfilter/xt_dscp.h\n#       modified:   include/linux/netfilter/xt_mark.h\n#       modified:   include/linux/netfilter_ipv4/ipt_connmark.h\n#       modified:   include/linux/netfilter_ipv4/ipt_dscp.h\n#       modified:   include/linux/netfilter_ipv4/ipt_ecn.h\n#       modified:   include/linux/netfilter_ipv4/ipt_mark.h\n#       modified:   include/linux/netfilter_ipv4/ipt_tcpmss.h\n#       modified:   include/linux/netfilter_ipv4/ipt_tos.h\n#       modified:   include/linux/netfilter_ipv4/ipt_ttl.h\n#       modified:   include/linux/netfilter_ipv6/ip6t_hl.h\n#       modified:   include/linux/netfilter_ipv6/ip6t_mark.h\n#       modified:   net/ipv4/netfilter/ipt_ecn.c\n#       modified:   net/ipv4/netfilter/ipt_tos.c\n#       modified:   net/ipv4/netfilter/ipt_ttl.c\n#       modified:   net/ipv6/netfilter/ip6t_hl.c\n#       modified:   net/netfilter/xt_MARK.c\n#       modified:   net/netfilter/xt_connmark.c\n#       modified:   net/netfilter/xt_dscp.c\n#\nnothing to commit\n\nNotice how all the files in the above list changed case since the\nprevious invocation of git status.\n\nThe above has the unfortunate effect that the merge in a pull often\nrefuses to run, requiring \"git reset --hard origin\" to update the\nworking tree.\n"},{"id":"33510","messageId":"Pine.LNX.4.64.0702031716130.8424@woody.linux-foundation.org","threadId":"6645","inReplyTo":"ad8ce5c20702031400h78ddc11o34f98a461339bb55@mail.gmail.com","subject":"Re: git and file name case on cygwin","fromName":"Linus Torvalds","fromEmail":"torvalds@linux-foundation.org","sentAt":"2007-02-04T01:17:36Z","receivedAt":"2007-02-04T01:17:36Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Sat, 3 Feb 2007, Niklas Höglund wrote:\n>\n> There's something funny going on with git in cygwin. The following is\n> in a clone of linux 2.6, with no local modifications (only the\n> occasional pull from upstream).\n\nYou are using a filesystem that isn't able to handle the Linux kernel.\n\nMake sure you don't try to maintain kernel source trees on a filesystem \nthat isn't case-sensitive. Here's a clue:\n\n\tinclude/linux/netfilter/xt_dscp.h\n\tinclude/linux/netfilter/xt_DSCP.h\n\nare both tracked files..\n\n\t\tLinus"},{"id":"33511","messageId":"7vmz3uzpc2.fsf@assigned-by-dhcp.cox.net","threadId":"6645","inReplyTo":"Pine.LNX.4.64.0702031716130.8424@woody.linux-foundation.org","subject":"Re: git and file name case on cygwin","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2007-02-04T01:25:17Z","receivedAt":"2007-02-04T01:25:17Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Linus Torvalds <torvalds@linux-foundation.org> writes:\n\n> On Sat, 3 Feb 2007, Niklas Höglund wrote:\n>>\n>> There's something funny going on with git in cygwin. The following is\n>> in a clone of linux 2.6, with no local modifications (only the\n>> occasional pull from upstream).\n>\n> You are using a filesystem that isn't able to handle the Linux kernel.\n>\n> Make sure you don't try to maintain kernel source trees on a filesystem \n> that isn't case-sensitive. Here's a clue:\n>\n> \tinclude/linux/netfilter/xt_dscp.h\n> \tinclude/linux/netfilter/xt_DSCP.h\n>\n> are both tracked files..\n\nAre there plans to \"fix\" the confusion by renaming them to\nreduce chances of name clashes on such suboptimal filesystems?\n"},{"id":"33513","messageId":"Pine.LNX.4.64.0702031733190.8424@woody.linux-foundation.org","threadId":"6645","inReplyTo":"7vmz3uzpc2.fsf@assigned-by-dhcp.cox.net","subject":"Re: git and file name case on cygwin","fromName":"Linus Torvalds","fromEmail":"torvalds@linux-foundation.org","sentAt":"2007-02-04T01:38:16Z","receivedAt":"2007-02-04T01:38:16Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Sat, 3 Feb 2007, Junio C Hamano wrote:\n> \n> Are there plans to \"fix\" the confusion by renaming them to\n> reduce chances of name clashes on such suboptimal filesystems?\n\nI don't think so. Nobody really does development on such broken \nfilesystems, and I kind of have this nagging suspicion that Niklas noticed \njust because he wanted to test git, not because he really wanted to do \nLinux development under Windows ;)\n\nThat said, it might not be horrible to do. Doing\n\n\tgit ls-files | sort -f | uniq -ic | grep -v ' 1 '\n\nshows that we only have 19 names so afflicted, and they're all in \nnetfilter. Maybe the netfilter people could be convinced not to do it.\n\nBut really, do we actually expect anybody to really *care*?\n\n\t\tLinus\n"},{"id":"33515","messageId":"7v8xfezofq.fsf@assigned-by-dhcp.cox.net","threadId":"6645","inReplyTo":"Pine.LNX.4.64.0702031733190.8424@woody.linux-foundation.org","subject":"Re: git and file name case on cygwin","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2007-02-04T01:44:41Z","receivedAt":"2007-02-04T01:44:41Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Linus Torvalds <torvalds@linux-foundation.org> writes:\n\n> On Sat, 3 Feb 2007, Junio C Hamano wrote:\n>> \n>> Are there plans to \"fix\" the confusion by renaming them to\n>> reduce chances of name clashes on such suboptimal filesystems?\n>\n> I don't think so. Nobody really does development on such broken \n> filesystems, and I kind of have this nagging suspicion that Niklas noticed \n> just because he wanted to test git, not because he really wanted to do \n> Linux development under Windows ;)\n>\n> That said, it might not be horrible to do. Doing\n>\n> \tgit ls-files | sort -f | uniq -ic | grep -v ' 1 '\n>\n> shows that we only have 19 names so afflicted, and they're all in \n> netfilter. Maybe the netfilter people could be convinced not to do it.\n>\n> But really, do we actually expect anybody to really *care*?\n\nNot really, I was just fishing for an ammunition to use in a\ndifferent thread, concerning another filesystem whose readdir()\nreturns something different from what the user fed creat() to\ncreate the file.\n"},{"id":"33570","messageId":"1170597557.7538.12.camel@localhost","threadId":"6645","inReplyTo":"Pine.LNX.4.64.0702031733190.8424@woody.linux-foundation.org","subject":"Re: git and file name case on cygwin","fromName":"Niklas Höglund","fromEmail":"nhoglund@gmail.com","sentAt":"2007-02-04T13:59:17Z","receivedAt":"2007-02-04T13:59:17Z","isPatch":false,"sender":{"key":"nhoglund@gmail.com","avatar":"https://gravatar.com/avatar/7bacd9636e9e8e382a629679b90867195d3827a68acfe3094e59788afc1df9ac?d=mp&s=160"},"body":"On Sat, 2007-02-03 at 17:17 -0800, Linus Torvalds wrote: \n> Here's a clue:\n> \n> \tinclude/linux/netfilter/xt_dscp.h\n> \tinclude/linux/netfilter/xt_DSCP.h\n> \n> are both tracked files..\n\nOh. It never struck me that people would use the \"same\" name for two\ndifferent things. I thought it was something more subtle, like I file\nbeing renamed from one case to another. I should have looked a bit more\ncarefully.\n\n\nOn Sat, 2007-02-03 at 17:38 -0800, Linus Torvalds wrote:\n> On Sat, 3 Feb 2007, Junio C Hamano wrote:\n> > \n> > Are there plans to \"fix\" the confusion by renaming them to\n> > reduce chances of name clashes on such suboptimal filesystems?\n> \n> I don't think so. Nobody really does development on such broken \n> filesystems, and I kind of have this nagging suspicion that Niklas noticed \n> just because he wanted to test git, not because he really wanted to do \n> Linux development under Windows ;)\n\nIt's true that I don't intend to do any Linux development on a Windows\nsystem. I'd use a Linux system or a Linux VM for that. I do on occasion\nhave a look through the Linux source code when I'm struggling with some\nbadly documented hardware, but I could use a tarball for that. (I guess\nthe netfilter code would still get mangled, but I can live with that.)\n\nNiklas\n"},{"id":"33571","messageId":"45C5EAFE.6030900@verizon.net","threadId":"6645","inReplyTo":"1170597557.7538.12.camel@localhost","subject":"Re: git and file name case on cygwin","fromName":"Mark Levedahl","fromEmail":"mdl123@verizon.net","sentAt":"2007-02-04T14:17:34Z","receivedAt":"2007-02-04T14:17:34Z","isPatch":false,"sender":{"key":"mdl123@verizon.net","avatar":"https://avatars.githubusercontent.com/u/5302462?v=4"},"body":"Niklas Höglund wrote:\n> It's true that I don't intend to do any Linux development on a Windows\n> system. I'd use a Linux system or a Linux VM for that. I do on occasion\n> have a look through the Linux source code when I'm struggling with some\n> badly documented hardware, but I could use a tarball for that. (I guess\n> the netfilter code would still get mangled, but I can live with that.)\n>\n> Niklas\n>   \nNote that cygwin provides mananged mounts (mount -omanaged) that handles \nfiles whose names differ only in case. The names are of course mangled \nwhen exploring via native windows tools but not cygwin tools. e.g.,\n\nt>touch file1 File1\nt>ls\nFile1  file1\nt>cmd /c dir /b\n%46ile1\nfile1\n\nMark\n"},{"id":"33572","messageId":"eq4qe3$imb$1@sea.gmane.org","threadId":"6645","inReplyTo":"1170597557.7538.12.camel@localhost","subject":"Re: git and file name case on cygwin","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2007-02-04T14:27:38Z","receivedAt":"2007-02-04T14:27:38Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Niklas Höglund wrote:\n\n> [...] I do on occasion\n> have a look through the Linux source code when I'm struggling with some\n> badly documented hardware, but I could use a tarball for that. (I guess\n> the netfilter code would still get mangled, but I can live with that.)\n\nIf you have net access, you could use gitweb for that...\n-- \nJakub Narebski\nWarsaw, Poland\nShadeHawk on #git\n"},{"id":"33574","messageId":"20070204150131.GA15726@uranus.ravnborg.org","threadId":"6645","inReplyTo":"Pine.LNX.4.64.0702031733190.8424@woody.linux-foundation.org","subject":"Re: git and file name case on cygwin","fromName":"Sam Ravnborg","fromEmail":"sam@ravnborg.org","sentAt":"2007-02-04T15:01:31Z","receivedAt":"2007-02-04T15:01:31Z","isPatch":false,"sender":{"key":"sam@ravnborg.org","avatar":"https://gravatar.com/avatar/168a912606ed0742d840bb365e3cc21db390c36531a58341dc7a069cc1f15f62?d=mp&s=160"},"body":"On Sat, Feb 03, 2007 at 05:38:16PM -0800, Linus Torvalds wrote:\n> \n> \n> On Sat, 3 Feb 2007, Junio C Hamano wrote:\n> > \n> > Are there plans to \"fix\" the confusion by renaming them to\n> > reduce chances of name clashes on such suboptimal filesystems?\n> \n> I don't think so. Nobody really does development on such broken \n> filesystems, and I kind of have this nagging suspicion that Niklas noticed \n> just because he wanted to test git, not because he really wanted to do \n> Linux development under Windows ;)\n\nAt my present work we do all development under Windows and this is what\nwe have used since day one. Shifting the underlying OS to Linux last\nyear should not and did not trigger a development environment revolution\n(read: change to Linux).\n\nBut it would still be preferable to actually build the Linux kernel on\nWindows so there is no need to do a remote build for part of the\nsystem and the rest on the Windows host.\nOr in other words to make the kernel build able on Windows does not imply\nthe desire to actually do kernel development on Windows.\n\n\tSam\n"}]}