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

Re: clone: I'm only doing a max of 256 requests

From
Junio C Hamano <junkio@cox.net>
Date
Oct 5, 2005, 23:45 UTC
Message-ID
<7vek6zedea.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<Pine.LNX.4.64.0510051541300.31407@g5.osdl.org>
Linus Torvalds <torvalds@osdl.org> writes:
> No, just change the "MAX_NEEDS" define from 256 to some larger value.
>
> There's no real reason for the limit, except that maybe we should have 
> some dynamic allocation for this.

If somebody is asking for more than say 20 refs, even if the repository is mature and has 1000 point releases tagged, it might not make that much of a difference if we ship everything back instead of being selective, especially when the downloader said "I do not have anything", i.e. initial cloning.

So after the 'rev-list --all' patch, I was actually going to suggest reducing MAX_NEEDS, to say 47 (another arbitrary number), and maybe making MAX_HAS side dynamic to hold more refs for the stop list.

Also it may be worthwhile to teach upload-pack.c::got_sha1() to notice when the other side says he has one object and we know that object is reachable from another object he already said he has, and choose not to use the older object on the has_sha1[] list. The "have" list from fetch-pack tends to come from newer to older, so this would save has_sha1[] array entries from being consumed by older commits when we know about the commits he has near the tip of the same branch.

Previous: Linus TorvaldsNext: Alex Riesen
Message 9 of 12 in “clone: I'm only doing a max of 256 requests”
  1. Andy IsaacsonOct 5, 2005
  2. Junio C HamanoOct 5, 2005
  3. Junio C HamanoOct 5, 2005
  4. Junio C HamanoOct 5, 2005
  5. Vincent HanquezOct 5, 2005
  6. Linus TorvaldsOct 5, 2005
  7. upload-pack: Do not choke on too many heads request.Junio C Hamano, Oct 5, 2005
  8. Linus TorvaldsOct 5, 2005
  9. Junio C HamanoOct 5, 2005
  10. Alex RiesenOct 6, 2005
  11. Linus TorvaldsOct 6, 2005
  12. Junio C HamanoOct 6, 2005

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.