summaryrefslogtreecommitdiff
path: root/wt-status.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2021-01-25 14:19:18 -0800
committerJunio C Hamano <gitster@pobox.com>2021-01-25 14:19:18 -0800
commit080627942802e767b068a491f3d349227f4e2cdc (patch)
treee229ae62bfe315afc0d784b3752958f981b46d96 /wt-status.c
parentdfcd90506998c1de8d8ef86431c86ef9ed626c30 (diff)
parent8ef93124645f89c45c9ec3edd3b268b38154061a (diff)
downloadgit-080627942802e767b068a491f3d349227f4e2cdc.tar.gz
Merge branch 'sj/untracked-files-in-submodule-directory-is-not-dirty'
"git diff" showed a submodule working tree with untracked cruft as "Submodule commit <objectname>-dirty", but a natural expectation is that the "-dirty" indicator would align with "git describe --dirty", which does not consider having untracked files in the working tree as source of dirtiness. The inconsistency has been fixed. * sj/untracked-files-in-submodule-directory-is-not-dirty: diff: do not show submodule with untracked files as "-dirty"
Diffstat (limited to 'wt-status.c')
-rw-r--r--wt-status.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/wt-status.c b/wt-status.c
index 40b59be478..0c8287a023 100644
--- a/wt-status.c
+++ b/wt-status.c
@@ -606,7 +606,9 @@ static void wt_status_collect_changes_worktree(struct wt_status *s)
if (s->ignore_submodule_arg) {
rev.diffopt.flags.override_submodule_config = 1;
handle_ignore_submodules_arg(&rev.diffopt, s->ignore_submodule_arg);
- }
+ } else if (!rev.diffopt.flags.ignore_submodule_set &&
+ s->show_untracked_files != SHOW_NO_UNTRACKED_FILES)
+ handle_ignore_submodules_arg(&rev.diffopt, "none");
rev.diffopt.format_callback = wt_status_collect_changed_cb;
rev.diffopt.format_callback_data = s;
rev.diffopt.detect_rename = s->detect_rename >= 0 ? s->detect_rename : rev.diffopt.detect_rename;