Subject: Re: Bug in 2.26: git-fetch fetching too many objects?

From: Jonathan Nieder <[email-masked]>
Date: Tue, 21 Apr 2020 12:36:11 -0700

Hi,

Junio C Hamano wrote:
> Jonathan Nieder <[email-masked]> writes:
>> Dixit, Ashutosh wrote:

>>> I am seeing a strange behavior in git-fetch in 2.26. I frequently fetch
>>> from a couple of linux kernel remotes (so you will have an idea how big the
>>> repo is). I have a different system with 2.20 on which I never see a
>>> problem.
>> ...
>> I suspect this is related to the change that protocol v2 does to use
>> stateless-rpc even in stateful protocols.  If my suspicion is correct,
>> then the same behavior would show up with protocol v0 over http and
>> https as well.
[...]
> This is at least the fourth time we hear that v2 may not be ready
> for the real-world use.  Perhaps we should revert the default flip
> on the maintenance track while we hunt for bugs and improve the
> protocol support?

That feels to me like an overreaction, since these are all reports of
the same issue that we have a fix to.  Shouldn't we just flip the
default for fetch.negotiationAlgorithm to skipping?  If we revert to
buy time, what would we do with that time?

In other words, if I understand correctly, it's describing an issue
that also exists in protocol v0 for https.  I would be *very*
interested in any evidence one way or another about whether I am
understanding correctly.  If we flip the default, I don't see how
we'll get that evidence, since we've been using protocol v2 as the
default at $DAYJOB for quite a long time now.

Thanks,
Jonathan