{"thread":{"id":"47043","subject":"[Bug Report] [includeIf] does not parse case insensitive -> case sensitive symlink gitdir","startedAt":"2017-10-27T13:56:11Z","lastAt":"2017-10-27T15:33:44Z","messageCount":2,"participants":["Adrian Kappel","Torsten Bögershausen"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"331152","messageId":"CAEm1wifEZ5CXH7N_cCJpXQN-1dWBRZ1OQ=bJH-X=kR15Bg0Sdw@mail.gmail.com","threadId":"47043","inReplyTo":null,"subject":"[Bug Report] [includeIf] does not parse case insensitive -> case sensitive symlink gitdir","fromName":"Adrian Kappel","fromEmail":"atkappel@gmail.com","sentAt":"2017-10-27T13:55:58Z","receivedAt":"2017-10-27T13:56:11Z","isPatch":false,"sender":{"key":"atkappel@gmail.com","avatar":null},"body":"Hello all, not sure if the issue I've come across is a known bug or\naddressable, but wanted to report it just in-case.\n\n\n** Summary\n------------------------------------------------------------------\nUsing the [includeIf] configuration statement with a symlink'd gitdir\nwill not work if the symlink is on a case insensitive volume and the\nlocation it references is on a case sensitive volume.\n\n** Steps to reproduce\n------------------------------------------------------------------\n1. Create symlink (case insensitive -> case sensitive):\n/Users/usera/dev -> /Volumes/CaseSensitive/dev\n2. Create two files: .gitignore and .gitignore-work, both stored in\n/Users/usera/\n\n.gitconfig\n-------------\n[user]\n  name = First Last\n\n  [includeIf \"gitdir:~/dev/work\"]\n    path = .gitconfig-work\n\n.gitconfig-work\n--------------------\n[user]\n  email = email@address.com\n\n3. cd into a subfolder of ~/dev/work that has been git initialized.\nLet's say ~/dev/work/repo\n4. Run git config --includes user.email\n5. See that nothing is output from the command\n6. Update the [includeIf] statement in .gitconfig to be the real\nlocation i.e. \"gitdir:/Volumes/CaseSensitive/dev/work/repo\"\n7. Rerun the command from [4]\n8. See that email@address.com is output from the command\n\n** Other variations that were not tested\n------------------------------------------------------------------\n- symlink on case sensitive volume referencing a location on a case\ninsensitive volume\n\n** Environment Information\n------------------------------------------------------------------\ngit --version: 2.14.1\nOS: macOS Sierra 10.12.6\n\n\nIf a fix is not feasible or likely to be implemented, I would\nrecommend that we update the git site's documentation to reflect this\ngotcha. After verification of course.\n\nBest,\nAdrian Kappel\nakappel <https://github.com/akappel/>\n"},{"id":"331170","messageId":"20171027153336.GA26626@tor.lan","threadId":"47043","inReplyTo":"CAEm1wifEZ5CXH7N_cCJpXQN-1dWBRZ1OQ=bJH-X=kR15Bg0Sdw@mail.gmail.com","subject":"Re: [Bug Report] [includeIf] does not parse case insensitive -> case sensitive symlink gitdir","fromName":"Torsten Bögershausen","fromEmail":"tboegi@web.de","sentAt":"2017-10-27T15:33:36Z","receivedAt":"2017-10-27T15:33:44Z","isPatch":false,"sender":{"key":"tboegi@web.de","avatar":"https://avatars.githubusercontent.com/u/7138363?v=4"},"body":"On Fri, Oct 27, 2017 at 09:55:58AM -0400, Adrian Kappel wrote:\n> Hello all, not sure if the issue I've come across is a known bug or\n> addressable, but wanted to report it just in-case.\n\nThanks for the detailed description - my question is inline\n\n> \n> \n> ** Summary\n> ------------------------------------------------------------------\n> Using the [includeIf] configuration statement with a symlink'd gitdir\n> will not work if the symlink is on a case insensitive volume and the\n> location it references is on a case sensitive volume.\n> \n> ** Steps to reproduce\n> ------------------------------------------------------------------\n> 1. Create symlink (case insensitive -> case sensitive):\n> /Users/usera/dev -> /Volumes/CaseSensitive/dev\n> 2. Create two files: .gitignore and .gitignore-work, both stored in\n> /Users/usera/\n> \n> .gitconfig\n> -------------\n> [user]\n>   name = First Last\n> \n>   [includeIf \"gitdir:~/dev/work\"]\n>     path = .gitconfig-work\n> \n> .gitconfig-work\n> --------------------\n> [user]\n>   email = email@address.com\n> \n> 3. cd into a subfolder of ~/dev/work that has been git initialized.\n> Let's say ~/dev/work/repo\n> 4. Run git config --includes user.email\n> 5. See that nothing is output from the command\n> 6. Update the [includeIf] statement in .gitconfig to be the real\n> location i.e. \"gitdir:/Volumes/CaseSensitive/dev/work/repo\"\n\nDidn't you set it up pointing do the real location ?\nThat is what is written above:\n> 1. Create symlink (case insensitive -> case sensitive):\n> /Users/usera/dev -> /Volumes/CaseSensitive/dev\n\n(I suspect that people use something like this:\n /Users/usera/dev -> /Volumes/casesensitive/dev\n And in this case it would be the file system which says\n casesensitive != CaseSensitive and Git can't do much about it)\n\n> 7. Rerun the command from [4]\n> 8. See that email@address.com is output from the command\n> \n> ** Other variations that were not tested\n> ------------------------------------------------------------------\n> - symlink on case sensitive volume referencing a location on a case\n> insensitive volume\n> \n> ** Environment Information\n> ------------------------------------------------------------------\n> git --version: 2.14.1\n> OS: macOS Sierra 10.12.6\n> \n> \n> If a fix is not feasible or likely to be implemented, I would\n> recommend that we update the git site's documentation to reflect this\n> gotcha. After verification of course.\n> \n> Best,\n> Adrian Kappel\n> akappel <https://github.com/akappel/>\n"}]}