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

[PATCH 0/5] builtin/repack: make geometric repacking compatible with promisors

From
Patrick Steinhardt <ps@pks.im>
Date
Jan 5, 2026, 13:16 UTC
Message-ID
<20260105-pks-geometric-repack-with-promisors-v1-0-c4660573437e@pks.im>
Hi,

I recently noticed that geometric repacking is incompatible with promisor remotes. This is because we invoke git-pack-objects(1) with both "--stdin-packs" and "--exclude-promisor-objects", and those flags are mutually exclusive. Next to us dying though, we also don't have any logic to mark merged packs as promisors in case any of the source packs was a promisor.

This patch series fixes this by making these flags work with one another and by introducing special handling for promisor packs during geometric repacks.

Thanks!
Patrick
---
Patrick Steinhardt (5):
      builtin/pack-objects: exclude promisor objects with "--stdin-packs"
      repack-geometry: extract function to compute repacking split
      repack-promisor: extract function to finalize repacking
      repack-promisor: extract function to remove redundant packs
      builtin/repack: handle promisor packs with geometric repacking
 builtin/pack-objects.c        | 14 +++++--
 builtin/repack.c              |  3 ++
 repack-geometry.c             | 89 ++++++++++++++++++++++++++-------------
 repack-promisor.c             | 97 ++++++++++++++++++++++++++++++-------------
 repack.h                      | 10 +++++
 t/t5331-pack-objects-stdin.sh | 39 +++++++++++++++++
 t/t7703-repack-geometric.sh   | 61 +++++++++++++++++++++++++++
 7 files changed, 250 insertions(+), 63 deletions(-)

--- base-commit: 68cb7f9e92a5d8e9824f5b52ac3d0a9d8f653dbe change-id: 20260105-pks-geometric-repack-with-promisors-2f948d6db774

Next: Patrick Steinhardt
Message 1 of 11 in “builtin/repack: make geometric repacking compatible with promisors”
  1. 0/5 builtin/repack: make geometric repacking compatible with promisorsPatrick Steinhardt, Jan 5, 2026
  2. 1/5 builtin/pack-objects: exclude promisor objects with "--stdin-packs"Patrick Steinhardt, Jan 5, 2026
  3. Taylor BlauJan 9, 2026
  4. Patrick SteinhardtJan 12, 2026
  5. 2/5 repack-geometry: extract function to compute repacking splitPatrick Steinhardt, Jan 5, 2026
  6. Toon ClaesJan 14, 2026
  7. 3/5 repack-promisor: extract function to finalize repackingPatrick Steinhardt, Jan 5, 2026
  8. 4/5 repack-promisor: extract function to remove redundant packsPatrick Steinhardt, Jan 5, 2026
  9. Taylor BlauJan 9, 2026
  10. 5/5 builtin/repack: handle promisor packs with geometric repackingPatrick Steinhardt, Jan 5, 2026
  11. Toon ClaesJan 14, 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.