Hi, Jeff Hostetler wrote: > Created core.aheadbehind config setting and core_ahead_behind > global variable. This value defaults to true. > > This value will be used in the next few commits as the default value > for the --ahead-behind parameter. > > Signed-off-by: Jeff Hostetler <jeffhost@xxxxxxxxxxxxx> > --- > Documentation/config.txt | 8 ++++++++ > cache.h | 1 + > config.c | 5 +++++ > environment.c | 1 + > 4 files changed, 15 insertions(+) Not a reason to reroll on its own, but this seems out of order: the series is easier to explain and easier to merge down in stages if the patch for --ahead-behind comes first, then the config setting. More generally, new commandline flags tend to be less controversial than new config settings since they cannot affect a script by mistake, and for that reason, they can go earlier in the series. As a bonus, that makes it possible to include tests. It's probably worth adding a test or two for this new config setting. [...] > diff --git a/Documentation/config.txt b/Documentation/config.txt > index 9593bfa..c78d6be 100644 > --- a/Documentation/config.txt > +++ b/Documentation/config.txt > @@ -895,6 +895,14 @@ core.abbrev:: > abbreviated object names to stay unique for some time. > The minimum length is 4. > > +core.aheadbehind:: > + If true, tells commands like status and branch to print ahead and > + behind counts for the branch relative to its upstream branch. > + This computation may be very expensive when there is a great > + distance between the two branches. If false, these commands > + only print that the two branches refer to different commits. > + Defaults to true. This doesn't seem like a particularly core feature to me. Should it be e.g. status.aheadbehind (even though it also affects "git branch") or even something like diff.aheadbehind? I'm not sure. I also wonder if there's a way to achieve the same benefit without having it be configurable. E.g. if a branch is way behind, couldn't we terminate the walk early to get the same bounded cost per branch without requiring configuration? Thanks, Jonathan