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

From: Jonathan Nieder <[email-masked]>
Date: Mon, 20 Apr 2020 23:45:41 -0700

(+cc: Jonathan Tan, fetch negotiation expert)
Hi,

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.
>
> So let us say I fetch with 2.20 and it fetches say 20,000 objects. However
> with 2.26 it starts fetching millions of objects, objects which are already
> present locally. I don't know yet if this happens each time or only once in
> a while, I have seen it happen twice, will keep an eye out for this.
>
> If you open a bug please let me know and I can update it with my
> findings. Unless it is a known issue, perhaps already fixed?

Does "git config --global fetch.negotiationAlgorithm skipping" help?
It might be time for us to make that the default.

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.

Thanks and hope that helps,
Jonathan