Matthias Beyer <mail@xxxxxxxxxxxxxxxx> writes: > [includeIf "gitdir:~/dev/work/"] > path = ~/config/git/gitconfig_work > ``` > > That means, from my understanding, that all git repositories in ~/dev/work > should now have the work-related email address set. > > If I go to ~/dev/work/somerepo and `git config --get user.email` it indeed > shows the expected email address. The pattern given to "gitdir:" ends with "/" and implicitly "**" is added after it. If "~/dev/work/somerepo" is a repository, going there and "git rev-parse --git-dir" would say ".git" or "~/dev/work/somerepo/.git", then the includeIf should trigger. > But if I go to a subdirectory in that repository, the very same command shows > the private email address, and commits get written with that private email > address. I use exactly the same configuration (not for working on this project, though), and your symptom does not reproduce for me, which puzzles me. I go to an equivelent of your ~/dev/work/somerepo/subdir and "git rev-parse --git-dir" would still report an equivalent of your "~/dev/work/somerepo/.git", and my "git config --show-origin user.name" does point at the value of "includeIf.gitdir:~/dev/work/.path". I wonder what the difference of the set-up is. My ~/dev/work/somerepo/.git equivalent is a directory. Perhas yours is not? That should not cause any difference and it is merely a guess in the dark.