Skip to content

Repacking of promisor packfiles

Jonathan Tan git 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest2 patches 3 repliesIn review
  2. v12 patches 9 repliesSuperseded

Changes in v2 from the cover letter

- add NEEDSWORK stating that input to pack-objects could be removed
- run pack-objects to repack promisor objects only if there is at least one of them - this exposed a possible bug where the later part of cmd_repack() requires a correct packed_git (this was mostly noticed by tests that deal with corrupt packfiles), so insert a call to reprepare_packed_git() after all packfile manipulation is done
- rename prepare_packed_objects() to prepare_pack_objects() to better reflect that we are preparing a call to pack-objects, not preparing existing packed objects

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2repack: refactor setup of pack-objects cmdbuiltin/repack.c+55 -440 replies
2/2repack: repack promisor objects if -a or -A is setDocumentation/git-repack.txt builtin/repack.c t/t0410-partial-clone.sh+158 -153 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [PATCH v2 0/2] Repacking of promisor packfiles

Changes from v1:
- add NEEDSWORK stating that input to pack-objects could be removed
- run pack-objects to repack promisor objects only if there is at least one of them - this exposed a possible bug where the later part of cmd_repack() requires a correct packed_git (this was mostly noticed by tests that deal with corrupt packfiles), so insert a call to reprepare_packed_git() after all packfile manipulation is done
- rename prepare_packed_objects() to prepare_pack_objects() to better reflect that we are preparing a call to pack-objects, not preparing existing packed objects

Peff raised the possibility of making for_each_packed_object() use pack order instead of index order - I'll also take a look at that, separately from this patch series.

Jonathan Tan (2):
repack: refactor setup of pack-objects cmd
repack: repack promisor objects if -a or -A is set

 Documentation/git-repack.txt |   5 +
 builtin/repack.c             | 182 ++++++++++++++++++++++++++---------
 t/t0410-partial-clone.sh     |  85 +++++++++++++---
 3 files changed, 213 insertions(+), 59 deletions(-)
Signature · 1 line
2.18.0.597.ga71716f1ad-goog