From: Patrick Steinhardt Date: Mon, 05 Jan 2026 13:16:40 GMT Subject: [PATCH 0/5] builtin/repack: make geometric repacking compatible with promisors 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