diff options
author | Stefan Beller <sbeller@google.com> | 2017-03-29 15:26:16 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-03-29 17:37:21 -0700 |
commit | 40069d6e3a195c8c2414ea60ed75b84ae47f88a1 (patch) | |
tree | 56220e959c945701a608005f942fd7a40fa006ee /Documentation/git-status.txt | |
parent | short status: improve reporting for submodule changes (diff) | |
download | tgif-40069d6e3a195c8c2414ea60ed75b84ae47f88a1.tar.xz |
submodule.c: correctly handle nested submodules in is_submodule_modified
Suppose I have a superproject 'super', with two submodules 'super/sub'
and 'super/sub1'. 'super/sub' itself contains a submodule
'super/sub/subsub'. Now suppose I run, from within 'super':
echo hi >sub/subsub/stray-file
echo hi >sub1/stray-file
Currently we get would see the following output in git-status:
git status --short
m sub
? sub1
With this patch applied, the untracked file in the nested submodule is
displayed as an untracked file on the 'super' level as well.
git status --short
? sub
? sub1
This doesn't change the output of 'git status --porcelain=1' for nested
submodules, because its output is always ' M' for either untracked files
or local modifications no matter the nesting level of the submodule.
'git status --porcelain=2' is affected by this change in a nested
submodule, though. Without this patch it would report the direct submodule
as modified and having no untracked files. With this patch it would report
untracked files. Chalk this up as a bug fix.
This bug fix also affects the default output (non-short, non-porcelain)
of git-status, which is not tested here.
Signed-off-by: Stefan Beller <sbeller@google.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/git-status.txt')
-rw-r--r-- | Documentation/git-status.txt | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/Documentation/git-status.txt b/Documentation/git-status.txt index 67f1a910f3..d70abc6afe 100644 --- a/Documentation/git-status.txt +++ b/Documentation/git-status.txt @@ -189,6 +189,8 @@ Submodules have more state and instead report since modified content or untracked files in a submodule cannot be added via `git add` in the superproject to prepare a commit. +'m' and '?' are applied recursively. For example if a nested submodule +in a submodule contains an untracked file, this is reported as '?' as well. If -b is used the short-format status is preceded by a line |