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

Re: What happens when the repository is bigger than gc.autopacklimit * pack.packSizeLimit?

From
Dale R. Worley <worley@alum.mit.edu>
Date
Aug 29, 2014, 15:47 UTC
Message-ID
<201408291547.s7TFlZ4F002412@hobgoblin.ariadne.com>
In-Reply-To
<xmqqa96pd59s.fsf@gitster.dls.corp.google.com>
> From: Junio C Hamano <gitster@pobox.com>
> But if your definition of the boundary between "small" and "large"
> is unreasonably low (and/or your definition of "too many" is
> unreasonably small), you will always have the problem you found.

I would propose that a pack whose size is "close enough" to packSizeLimit should be assumed to have already been built by repacking, and shouldn't count against autopacklimit.

That's easy to implement, and causes the desirable result that "git gc --auto" isn't triggerable immediate after repacking.

Of course, eventually there will be enough loose objects, and everything will get repacked (even the "full" packs). But that will happen only occasionally.

That does leave open the question of what is "close enough". Off the top of my head, a pack which is larger than packSizeLimit minus (the size limit for files we put in packs) can be considered "full" in this test.

Then again, maybe the solution is to just set autopacklimit very high, perhaps even by default -- in real use, eventually the gc.auto test will be triggered.

Dale
Previous: Junio C Hamano
Message 7 of 7 in “What happens when the repository is bigger than gc.autopacklimit * pack.packSizeLimit?”
  1. Dale R. WorleyAug 27, 2014
  2. Jeff KingAug 27, 2014
  3. Dale R. WorleyAug 29, 2014
  4. Jeff KingAug 29, 2014
  5. Dale R. WorleyAug 29, 2014
  6. Junio C HamanoAug 27, 2014
  7. Dale R. WorleyAug 29, 2014

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.