From: Jeff Hostetler <jeffh...@microsoft.com> This is version 3 of my patch series to avoid expensive ahead/behind calculations in status. This version tries to address most of the comments in V2.
I've switched back to a "status.aheadBehind" config setting rather than in "core.*". This has been better integrated with the existing status_deferred_config mechanism in builtin/commit.c and lets both status and commit inherit it. Config values of true and false control non-porcelain formats for compatibility reasons as previously discussed. In the last commit I added a new value of 2 for the config setting to allow porcelain formats to inherit the new setting. I've marked this experimental for now or so that we can discuss it. Jeff Hostetler (5): 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 status: add status.aheadBehind value for porcelain output Documentation/config.txt | 11 ++++++ Documentation/git-status.txt | 5 +++ builtin/checkout.c | 2 +- builtin/commit.c | 37 +++++++++++++++++++- ref-filter.c | 8 ++--- remote.c | 42 +++++++++++++++++------ remote.h | 20 +++++++++-- t/t6040-tracking-info.sh | 82 ++++++++++++++++++++++++++++++++++++++++++++ t/t7064-wtstatus-pv2.sh | 73 +++++++++++++++++++++++++++++++++++++++ wt-status.c | 38 +++++++++++++++----- wt-status.h | 2 ++ 11 files changed, 292 insertions(+), 28 deletions(-) -- 2.9.3