mirror of
https://github.com/git/git.git
synced 2025-12-12 20:36:24 +01:00
diff: do not show submodule with untracked files as "-dirty"
Git diff reports a submodule directory as -dirty even when there are only untracked files in the submodule directory. This is inconsistent with what `git describe --dirty` says when run in the submodule directory in that state. Make `--ignore-submodules=untracked` the default for `git diff` when there is no configuration variable or command line option, so that the command would not give '-dirty' suffix to a submodule whose working tree has untracked files, to make it consistent with `git describe --dirty` that is run in the submodule working tree. And also make `--ignore-submodules=none` the default for `git status` so that the user doesn't end up deleting a submodule that has uncommitted (untracked) files. Signed-off-by: Sangeeta Jain <sangunb09@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
2e673356ae
commit
8ef9312464
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user