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

Re: [PATCH 1/3] builtin/repack: fix geometric repacks with promisor remotes

From
Patrick Steinhardt <ps@pks.im>
Date
Dec 11, 2025, 05:46 UTC
Message-ID
<aTpa0XLKPL53LaR-@pks.im>
In-Reply-To
<pva24p5jl2wjnwtdysmiqy4ljcfxtarss2cudqf5k7so36c5b3@6xkb6o2tgx5j>
On Wed, Dec 10, 2025 at 01:31:44PM -0600, Justin Tobler wrote:
Show 17 quoted lines
> On 25/12/05 09:19AM, Patrick Steinhardt wrote:
> > But there is one case where git-repack(1) decides to pass both options:
> > when performing a geometric repack we always pass "--stdin-packs" to
> > identify the packs that should be merged. So if one performs a geometric
> > repack in a partial clone we'll end up with both options, and that
> > causes the repack to fail.
> > 
> > Fix this issue by never passing "--exclude-promisor-objects" when we
> > have a geometric split factor. We don't need the option anyway when
> > doing a geometric repack as we will only ever pack loose objects or
> > merge multiple packs. And neither of those cases can yield a promisor
> > object.
> 
> I'm not sure I fully understand why --exclude-promisor-objects would not
> be needed for geometric repacks. To clarify, do geometric repacks
> already exclude promisor packfiles when merging? If so, then this change
> makes sense.

Okay, I had a deeper look now, and turns out my claim was completely wrong. We _do_ try to perform geometric repacking with promisor remotes, but we don't know to handle them in any capacity:

  - git-pack-objects(1) just dies right away.
  - Even if it didn't, we would need to learn how to merge promisor
    packs.
I'll drop this patch for now, thanks for prompting!
Patrick
Previous: Justin ToblerNext: Patrick Steinhardt
Message 4 of 26 in “Some random object database related fixes”
  1. 0/3 Some random object database related fixesPatrick Steinhardt, Dec 5, 2025
  2. 1/3 builtin/repack: fix geometric repacks with promisor remotesPatrick Steinhardt, Dec 5, 2025
  3. Justin ToblerDec 10, 2025
  4. Patrick SteinhardtDec 11, 2025
  5. 2/3 builtin/gc: fix condition for whether to write commit graphsPatrick Steinhardt, Dec 5, 2025
  6. Justin ToblerDec 10, 2025
  7. Patrick SteinhardtDec 11, 2025
  8. 3/3 odb: properly close sources before freeing themPatrick Steinhardt, Dec 5, 2025
  9. Eric SunshineDec 5, 2025
  10. Patrick SteinhardtDec 6, 2025
  11. Eric SunshineDec 6, 2025
  12. Patrick SteinhardtDec 6, 2025
  13. 0/2 Some random object database related fixesPatrick Steinhardt, Dec 11, 2025
  14. 1/2 builtin/gc: fix condition for whether to write commit graphsPatrick Steinhardt, Dec 11, 2025
  15. Toon ClaesDec 11, 2025
  16. Karthik NayakJan 6, 2026
  17. Patrick SteinhardtJan 6, 2026
  18. Karthik NayakJan 6, 2026
  19. 2/2 odb: properly close sources before freeing themPatrick Steinhardt, Dec 11, 2025
  20. Justin ToblerDec 12, 2025
  21. Karthik NayakJan 6, 2026
  22. 0/2 Some random object database related fixesPatrick Steinhardt, Jan 6, 2026
  23. 1/2 builtin/gc: fix condition for whether to write commit graphsPatrick Steinhardt, Jan 6, 2026
  24. 2/2 odb: properly close sources before freeing themPatrick Steinhardt, Jan 6, 2026
  25. Karthik NayakJan 6, 2026
  26. Junio C HamanoJan 7, 2026

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.