From: Johan Herland Date: Tue, 08 Jun 2010 22:11:14 GMT Subject: Re: [PATCH 0/2] Add optional parameters to the diff option "--ignore-submodules" Message-ID: <201006090011.14995.johan@herland.net> In-Reply-To: <4C0E7037.8080403@web.de> 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, www.herland.net