On 4/3/2018 7:39 AM, Derrick Stolee wrote:
On 4/3/2018 6:18 AM, Ævar Arnfjörð Bjarmason wrote:
On Tue, Apr 03 2018, Lars Schneider wrote:
What is the state of this series? I can't find it in git/git nor in
git-for-windows/git. I think Stolee mentioned the config in
his Git Merge talk [1] and I was about to test it/roll it out :-)
It's in the gvfs branch of git@xxxxxxxxxx:Microsoft/git.git, i.e. it's
not in Git for Windows, but used in Microsoft's own in-house version
used for Windows.git.
Thanks for adding me to CC. I mentioned it in my talk because that was one thing we shipped internally as a "quick fix" until we could do the right thing.
If I remember correctly, Jeff abandoned shipping this upstream because it did have the feel of a hack and we wanted to see if users used the config setting or really cared about the output values. We saw fast adoption of the feature and even turned the config setting on automatically in the following version of GVFS.
I may be misunderstanding this feature, but my impression was that it
was a kludge as a workaround until the commit graph code landed, because
once we have that then surely we can just cheaply report the actual (or
approximate?) number in the common case, but of course it may still be
slow if your commit graph file is out of date.
Right, the only thing in master are the changes to take the new
command line option and to alter the output of status. We did not
reach consensus on the need for the config setting and/or whether
it should be in "core." or "status." or another namespace and/or
how it should work.
And yes, it was also seen as a hack (just turn it off) until the
client-side commit graph was ready (at least for interactive use).
Because there are callers that don't need the answer (regardless
of whether it is cheap to compute) and so the explicit command line
arg limitation is sufficient for them.
This part is in upstream master:
commit 4094e47fd2c49fcdbd0152d20ed4d610d72680d7
Merge: c710d182ea f39a757dd9
Author: Junio C Hamano <gitster@xxxxxxxxx>
Date: Thu Mar 8 12:36:24 2018 -0800
Merge branch 'jh/status-no-ahead-behind'
These parts are in the 'gvfs' branch in the git@xxxxxxxxxx:Microsoft/git.git repo:
commit 039f65946968fa654a9c3bca27a4f4e93c1c9381
Author: Jeff Hostetler <jeffhost@xxxxxxxxxxxxx>
Date: Wed Jan 10 13:50:24 2018 -0500
status: add warning when a/b calculation takes too long for long/normal format
commit 0d6756f06d0ad6f1fdc8dba0ead7911e411c9704
Author: Jeff Hostetler <jeffhost@xxxxxxxxxxxxx>
Date: Mon Feb 5 09:44:04 2018 -0500
status: ignore status.aheadbehind in porcelain formats
Teach porcelain V[12] formats to ignore the status.aheadbehind
config setting. They only respect the --[no-]ahead-behind
command line argument. This is for backwards compatibility
with existing scripts.
commit 0dd122d6cd43106a5928587d768a7381cfe9e7a3
Author: Jeff Hostetler <jeffhost@xxxxxxxxxxxxx>
Date: Tue Jan 9 14:16:07 2018 -0500
status: add status.aheadbehind setting
Add "status.aheadbehind" config setting to change the default
behavior of ALL git status formats.
Hope this helps,
Jeff