Noticed-by: Andy Parkins Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
--
On Thu, May 20, 2010 at 15:28, Junio C Hamano <gitster@pobox.com> wrote:
> As to the not-working-configuration I don't remember the codepath well, so > sorry but no answer from me right now.
Maybe because we do a (kind of) gentle status run on submodules whether the status.SubmoduleSummary set or not. Usually a background run of "git status" for every submodules goes unnoticed, just sometimes a submodule is a little too big.
I tried this, but feels like a bit of overkill.
Show changes to wt-status.c +8 −2
diff --git a/wt-status.c b/wt-status.c index 8ca59a2..d5bcdf9 100644 --- a/wt-status.c +++ b/wt-status.c @@ -303,7 +303,10 @@ static void wt_status_collect_changes_worktree(struct wt_status *s) init_revisions(&rev, NULL); setup_revisions(0, NULL, &rev, NULL); rev.diffopt.output_format |= DIFF_FORMAT_CALLBACK; - DIFF_OPT_SET(&rev.diffopt, DIRTY_SUBMODULES); + if (s->submodule_summary) + DIFF_OPT_SET(&rev.diffopt, DIRTY_SUBMODULES); + else + DIFF_OPT_SET(&rev.diffopt, IGNORE_SUBMODULES); if (!s->show_untracked_files) DIFF_OPT_SET(&rev.diffopt, IGNORE_UNTRACKED_IN_SUBMODULES); rev.diffopt.format_callback = wt_status_collect_changed_cb; From 6b7a5e0ac560e1187d8ff359bad8c04927d0b599 Mon Sep 17 00:00:00 2001 From: Alex Riesen <raa.lkml@gmail.com> Date: Thu, 20 May 2010 16:04:11 +0200 Subject: [PATCH] Don't do status in submodules if status.SubmoduleSummary unset Noticed-by: Andy Parkins Signed-off-by: Alex Riesen <raa.lkml@gmail.com> diff --git a/wt-status.c b/wt-status.c index 8ca59a2..d5bcdf9 100644 --- a/wt-status.c +++ b/wt-status.c @@ -303,7 +303,10 @@ static void wt_status_collect_changes_worktree(struct wt_status *s) init_revisions(&rev, NULL); setup_revisions(0, NULL, &rev, NULL); rev.diffopt.output_format |= DIFF_FORMAT_CALLBACK; - DIFF_OPT_SET(&rev.diffopt, DIRTY_SUBMODULES); + if (s->submodule_summary) + DIFF_OPT_SET(&rev.diffopt, DIRTY_SUBMODULES); + else + DIFF_OPT_SET(&rev.diffopt, IGNORE_SUBMODULES); if (!s->show_untracked_files) DIFF_OPT_SET(&rev.diffopt, IGNORE_UNTRACKED_IN_SUBMODULES); rev.diffopt.format_callback = wt_status_collect_changed_cb;