Re: [PATCH 0/2] Add optional parameters to the diff option "--ignore-submodules"
From: Johan Herland <hidden>
Date: 2016-06-15 22:48:56
On Tuesday 08 June 2010, Jens Lehmann wrote:
After thinking some time about peoples expectations and troubles with the recursive scanning of submodules, I came up with this: What about expanding the "--ignore-submodules" option of the git diff family with three parameters: --ignore-submodules=all : Same behavior as "--ignore-submodules", submodules show never up as modified. --ignore-submodules=untracked : Don't consider submodules as modified when they only contain untracked files, but do if the commits in the superproject are different or tracked content is modified. --ignore-submodules=dirty : Don't consider submodules as modified when their work tree is dirty, no matter why. This is the pre 1.7.0 behavior and doesn't recurse into submodules at all.
Pardon my ignorance: Does this make "dirty" a superset of "untracked"? Or are they orthogonal. And how does "all" compare to "dirty"? Are they synonyms, or is "all" a superset of "dirty"?
To make that more useful the default could be controlled by the .git/config or .gitmodules file. So you could have two submodules: [submodule "sub1"] path = sub1 url = /home/me/sub1.git/ ignore = dirty [submodule "sub2"] path = sub2 url = /home/me/sub2.git/ ignore = untracked [...] Opinions?
I agree with adding support for this in .gitmodules, to allow customizing on a per-submodule level. ...Johan -- Johan Herland, [off-list ref] www.herland.net