Hi, thanks for your reply. I found the issue. As always, one nastly little detail: ~/dev is actually a symlink on my system(s) to ~/archive/development/ git rev-parse --git-dir of course resolves that symlink and thus ~/dev/work/ does not actually match ~/archive/development/ Using that path in the includeIf produces the expected results. Thanks for your patience. Matthias Am Dienstag, 11. April 2023, 18:58:08 CEST schrieb Junio C Hamano: > 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.
Attachment:
signature.asc
Description: This is a digitally signed message part.