[PATCH v5 0/4] Add --no-ahead-behind to status
- Date: Tue, 9 Jan 2018 18:50:14 +0000
- From: Jeff Hostetler <git@xxxxxxxxxxxxxxxxx>
- Subject: [PATCH v5 0/4] Add --no-ahead-behind to status
From: Jeff Hostetler <jeffhost@xxxxxxxxxxxxx>
This is version 5 of my patch series to avoid expensive ahead/behind
calculations in status. This version completely removes the config
setting and is just the --[no-]ahead-behind command line argument.
Internally (inside MSFT) we have had further discussions in this
area and identified 2 somewhat independent needs:
 The first is to just be able to turn off the a/b calculation when
the invoker does not need the result at all.
 The second is to greatly speed up or limit the a/b calculation on
extremely large repositories.
In earlier versions of this patch series, there were several
discussions of a limited mode that would look for no more than n
commits or milliseconds. Also discussed were some problems that
such limiting will have and it was decided to be not worth the effort.
We have been discussing some ways to speed up the calculation on the
client and have tentatively scheduled this shortly. Hopefully, this
will eliminate the performance problems and reduce the likelyhood
that anyone would need to set a config setting to change the default
behavior (in either porcelain or non-porcelain) formats.
So with that in mind, this version elimates the config setting so that
we have don't to carry forward a soon-to-be-obsolete setting.
All that remains in this version is the command line argument to turn
on/off the a/b calculation.
Jeff Hostetler (4):
stat_tracking_info: return +1 when branches not equal
status: add --[no-]ahead-behind to status and commit for V2 format.
status: update short status to respect --no-ahead-behind
status: support --no-ahead-behind in long format
Documentation/git-status.txt | 5 ++++
builtin/checkout.c | 2 +-
builtin/commit.c | 7 +++++
ref-filter.c | 8 +++---
remote.c | 50 +++++++++++++++++++++++------------
remote.h | 12 +++++++--
t/t6040-tracking-info.sh | 42 ++++++++++++++++++++++++++++++
t/t7064-wtstatus-pv2.sh | 62 ++++++++++++++++++++++++++++++++++++++++++++
wt-status.c | 41 ++++++++++++++++++++---------
wt-status.h | 2 ++
10 files changed, 196 insertions(+), 35 deletions(-)