Hello all, not sure if the issue I've come across is a known bug or addressable, but wanted to report it just in-case.
** Summary ------------------------------------------------------------------ Using the [includeIf] configuration statement with a symlink'd gitdir will not work if the symlink is on a case insensitive volume and the location it references is on a case sensitive volume.
** Steps to reproduce ------------------------------------------------------------------ 1. Create symlink (case insensitive -> case sensitive): /Users/usera/dev -> /Volumes/CaseSensitive/dev 2. Create two files: .gitignore and .gitignore-work, both stored in /Users/usera/
.gitconfig ------------- [user] name = First Last
[includeIf "gitdir:~/dev/work"]
path = .gitconfig-work.gitconfig-work -------------------- [user] email = email@address.com
3. cd into a subfolder of ~/dev/work that has been git initialized. Let's say ~/dev/work/repo 4. Run git config --includes user.email 5. See that nothing is output from the command 6. Update the [includeIf] statement in .gitconfig to be the real location i.e. "gitdir:/Volumes/CaseSensitive/dev/work/repo" 7. Rerun the command from [4] 8. See that email@address.com is output from the command
** Other variations that were not tested ------------------------------------------------------------------ - symlink on case sensitive volume referencing a location on a case insensitive volume
** Environment Information ------------------------------------------------------------------ git --version: 2.14.1 OS: macOS Sierra 10.12.6
If a fix is not feasible or likely to be implemented, I would recommend that we update the git site's documentation to reflect this gotcha. After verification of course.
Best, Adrian Kappel akappel <https://github.com/akappel/>