These patches teach Git to also repack promisor packfiles upon GC, which reduces one of the pain points of current partial clone usage (many promisor packfiles in the objects/pack/ directory, generated upon each fetch). In the t/ tests, I strived to verify that repack doesn't accidentally delete any objects. Let me know if you can think of better ways to do that. 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 | 163 ++++++++++++++++++++++++----------- t/t0410-partial-clone.sh | 71 ++++++++++++--- 3 files changed, 180 insertions(+), 59 deletions(-) -- 2.18.0.597.ga71716f1ad-goog