BUG: The .gitignore rules can't be made to cross submodule boundaries
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- May 22, 2017, 18:33 UTC
- Message-ID
- <CACBZZX41yrAtBvkVeL9Q=2_TxcwrDXh55gu3qLN54P_go318OA@mail.gmail.com>
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.