diff options
author | Junio C Hamano <gitster@pobox.com> | 2021-01-26 01:19:18 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-01-26 01:19:18 +0300 |
commit | 080627942802e767b068a491f3d349227f4e2cdc (patch) | |
tree | e229ae62bfe315afc0d784b3752958f981b46d96 /wt-status.c | |
parent | dfcd90506998c1de8d8ef86431c86ef9ed626c30 (diff) | |
parent | 8ef93124645f89c45c9ec3edd3b268b38154061a (diff) |
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.c | 4 |
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; |