git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Apr 21, 2020, 06:45 UTC
Message-ID
<20200421064541.GG96152@google.com>
In-Reply-To
<878siqxiu0.wl-ashutosh.dixit@intel.com>

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

Dixit, Ashutosh wrote:
Show 12 quoted lines
> 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

Previous: Dixit, AshutoshNext: Junio C Hamano
Message 4 of 8 in “Bug in 2.26: git-fetch fetching too many objects?”
  1. Dixit, AshutoshApr 20, 2020
  2. Konstantin RyabitsevApr 20, 2020
  3. Dixit, AshutoshApr 21, 2020
  4. Jonathan NiederApr 21, 2020
  5. Junio C HamanoApr 21, 2020
  6. Jonathan NiederApr 21, 2020
  7. Junio C HamanoApr 21, 2020
  8. Jeff KingApr 21, 2020

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.