public inbox for git@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] builtin/repack: make geometric repacking compatible with promisors
@ 2026-01-05 13:16 Patrick Steinhardt
  2026-01-05 13:16 ` [PATCH 1/5] builtin/pack-objects: exclude promisor objects with "--stdin-packs" Patrick Steinhardt
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Patrick Steinhardt @ 2026-01-05 13:16 UTC (permalink / raw)
  To: git; +Cc: Taylor Blau

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


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2026-01-14 15:26 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-05 13:16 [PATCH 0/5] builtin/repack: make geometric repacking compatible with promisors Patrick Steinhardt
2026-01-05 13:16 ` [PATCH 1/5] builtin/pack-objects: exclude promisor objects with "--stdin-packs" Patrick Steinhardt
2026-01-09 23:32   ` Taylor Blau
2026-01-12  9:37     ` Patrick Steinhardt
2026-01-05 13:16 ` [PATCH 2/5] repack-geometry: extract function to compute repacking split Patrick Steinhardt
2026-01-14 12:24   ` Toon Claes
2026-01-05 13:16 ` [PATCH 3/5] repack-promisor: extract function to finalize repacking Patrick Steinhardt
2026-01-05 13:16 ` [PATCH 4/5] repack-promisor: extract function to remove redundant packs Patrick Steinhardt
2026-01-09 23:40   ` Taylor Blau
2026-01-05 13:16 ` [PATCH 5/5] builtin/repack: handle promisor packs with geometric repacking Patrick Steinhardt
2026-01-14 15:26   ` Toon Claes

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox