From: Jeff Hostetler <jeffhost@xxxxxxxxxxxxx> This patch series adds a "--no-ahead-behind" option to status to request that it avoid a possibly expensive ahead/behind computation for the current branch. Instead, it just prints a not up to date message in place of the detailed counts. This idea was previously discussed in [1]. Working with the enormous Windows repository, we found that 20+ seconds was being spent in the ahead/behind computation when the current branch was 150K commits behind the upstream branch. (Yes, this happens and only took 3 weeks on the reporter's system.) I've only modified "git status" in this patch series. A similar change could be added to "git branch -vv" and "git checkout" to avoid delays there too. I avoided doing it here to keep this patch series focused. [1] https://public-inbox.org/git/030bf57c-7a23-3391-4fc0-93efee791543@xxxxxxxxxxxxxxxxx/T/ Jeff Hostetler (4): status: add --no-ahead-behind to porcelain V2 stat_tracking_info: return +1 when branch and upstream differ status: update short status to use --no-ahead-behind status: support --no-ahead-behind in long status format. Documentation/config.txt | 5 +++++ Documentation/git-status.txt | 16 ++++++++++++++++ builtin/checkout.c | 2 +- builtin/commit.c | 6 ++++++ ref-filter.c | 4 ++-- remote.c | 36 ++++++++++++++++++++++++++++-------- remote.h | 4 +++- t/t6040-tracking-info.sh | 42 ++++++++++++++++++++++++++++++++++++++++++ t/t7064-wtstatus-pv2.sh | 23 +++++++++++++++++++++++ wt-status.c | 24 ++++++++++++++++++++---- wt-status.h | 1 + 11 files changed, 147 insertions(+), 16 deletions(-) -- 2.9.3