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(-) -- 2.18.0.597.ga71716f1ad-goog