Re: [PATCH] Don't do status in submodules if status.SubmoduleSummary unset
- From
Jens Lehmann <jens.lehmann@web.de>
- Date
- May 20, 2010, 17:45 UTC
- Message-ID
- <4BF57538.5040204@web.de>
- In-Reply-To
- <AANLkTil1QHA3G2VaITdm7DkDmN1IhZ_u2SWLrelyxkF2@mail.gmail.com>
Am 20.05.2010 16:12, schrieb Alex Riesen:
> Maybe because we do a (kind of) gentle status run on submodules > whether the status.SubmoduleSummary set or not.
Yup, because checking a submodule for its dirtiness has to be done no matter if the summary output is also wanted.
Show 5 quoted lines
> 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.
This patch seems to disable submodule output completely for the default case (when status.SubmoduleSummary is false) and breaks 17 test cases.
So no thumbs up from me ;-)
Show 17 quoted lines
> 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;