When I was adding the sha1collisiondetection submodule to git.git I noticed that building git would dirty the submodule. This is because our own Makefile adds .depend/ directories. I hacked around it by just getting the upstream project accept carrying an ignore rule for that around: https://github.com/cr-marcstevens/sha1collisiondetection/commit/e8397b26 A workaround for this is to have the Makefile add such a rule to .git/modules/sha1collisiondetection/info/exclude, but that's less convenient than being able to distribute it as a normal .gitignore rule. The submodule.<name>.ignore config provides an overly big hammer to solve this, it would be better if we had something like submodule.<name>.gitignore=<path>. Then we could have e.g. .gitignore.sha1collisiondetection which would be added to whatever rules the repo's own .gitignore provides.