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

Re: [PATCH] send-pack: do not give up when remote has insanely large number of refs.

From
Junio C Hamano <junkio@cox.net>
Date
Feb 22, 2006, 18:42 UTC
Message-ID
<7v3bibnsk9.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<1140633034.3385.5.camel@orbit.scot.redhat.com>
"Stephen C. Tweedie" <sct@redhat.com> writes:
> Adding more ^refs up to the limit of 900 should be possible, too, and
> should catch more already-present objects --- while the refs count for
> this repo was under 900, push still worked fine for me, so we don't
> necessarily have to cut it hard to as low a number as 16.

Actually it was done on purpose. My first round did not have that 16 limit, and then it turned out that rev-list, given extra work to cull those 900 negative refs, were spending a lot of time. I created a repository with 1500 tags for this test ;-).

Unless we were talking about a repository that happens to host 1000 unrelated projects, each tracked with separate sets of heads and tags, those negative refs should be related with each other in the ancestry graph. We should be able to eliminate most of them by using the latest handful.

Show 5 quoted lines
> Perhaps ultimately we may want to simply send the refs list to
> git-rev-list via a pipe or similar if we want this to scale?  We'll need
> this for edge cases such as sending >900 new tags to an old repository
> at once, as we'll exhaust the size of the positive refs list in that
> case.
True.  We should support unbounded number of positive refs.
Previous: Stephen C. Tweedie
Message 7 of 7 in “Git cannot push to repository with too many tags/heads”
  1. Stephen C. TweedieFeb 21, 2006
  2. Don't sent objects for refs we're not going to update.Stephen C. Tweedie, Feb 21, 2006
  3. Junio C HamanoFeb 22, 2006
  4. Junio C HamanoFeb 22, 2006
  5. send-pack: do not give up when remote has insanely large number of refs.Junio C Hamano, Feb 22, 2006
  6. Stephen C. TweedieFeb 22, 2006
  7. Junio C HamanoFeb 22, 2006

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.