Re: git-status does not propagate -uall to submodules
- From
Jens Lehmann <jens.lehmann@web.de>
- Date
- Feb 17, 2012, 22:11 UTC
- Message-ID
- <4F3ED07A.8090508@web.de>
- In-Reply-To
- <874nupq0la.fsf@thomas.inf.ethz.ch>
Am 17.02.2012 10:18, schrieb Thomas Rast:
Show 29 quoted lines
> Hi, > > While helping with the submodule display on #git I noticed that if you > have a submodule with status.showuntrackedfiles=no, and run 'git status > -uall' from the superproject, then this does not propagate into the > submodule's status. In code: > > $ (cd bar && git config status.showuntrackedfiles) > no > $ git ls-files -s > 100644 926c01b7259c489a422442a8dc5cb5ea7c58f60c 0 .gitmodules > 160000 eb5af46e1a938d064c9f7bae9561013654a43316 0 bar > $ (cd bar && git status -s -unormal) > ?? otheruntracked > ?? untracked > $ git status > # On branch master > nothing to commit (working directory clean) > > So far that's expected; after all the submodule is configured not to > display untracked files. But with -uall: > > $ git status -uall > # On branch master > nothing to commit (working directory clean) > > Shouldn't the -uall propagate, since the user is explicitly asking for > it? That is, the display should summarize what git-status *with the > same arguments* would show inside the submodules?
Yes, that makes sense. In 3bfc45047 (git status: ignoring untracked files must apply to submodules too) I added that using -uno will propagate into submodules. But -uall (and I suspect -unormal too) should also be passed to the status commands forked inside the submodules (even though in both cases -unormal should suffice as only the presence or absence of untracked files will be shown anyway).
But opposed to -uno, which overrides any diff.ignoreSubmodules or submodule.<name>.ignore settings for the submodules, what should -unormal and -uall do? These options are used to override the status.showuntrackedfiles setting, so I suspect even when these options are given submodules which are configured to ignore untracked files via diff.ignoreSubmodules or submodule.<name>.ignore should still be dropped, right?