# git-status does not propagate -uall to submodules

2 messages from 2012-02-17 to 2012-02-17. Participants: Thomas Rast, Jens Lehmann.
Thread: https://gitlist.dev/t/29651

## Thomas Rast, 2012-02-17 09:18

Subject: git-status does not propagate -uall to submodules
Message-ID: <874nupq0la.fsf@thomas.inf.ethz.ch>
URL: https://gitlist.dev/e/874nupq0la.fsf%40thomas.inf.ethz.ch

```
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?

-- 
Thomas Rast
trast@{inf,student}.ethz.ch

```

## Jens Lehmann, 2012-02-17 22:11

Subject: Re: git-status does not propagate -uall to submodules
Message-ID: <4F3ED07A.8090508@web.de>
URL: https://gitlist.dev/e/4F3ED07A.8090508%40web.de
In-Reply-To: <874nupq0la.fsf@thomas.inf.ethz.ch>

```
Am 17.02.2012 10:18, schrieb Thomas Rast:
> 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?

```
