path: root/Documentation
diff options
authorJonathan Tan <>2018-08-08 22:34:06 (GMT)
committerJunio C Hamano <>2018-08-09 16:17:39 (GMT)
commit5d19e8138d5f24dbbe8d3736b4e57e117fc099b3 (patch)
tree7fea50a8902ff71afcb52c58f9ff4a19db1343b2 /Documentation
parent2b958e790b9c6f74442b94bfc0e297dcbba4db82 (diff)
repack: repack promisor objects if -a or -A is set
Currently, repack does not touch promisor packfiles at all, potentially causing the performance of repositories that have many such packfiles to drop. Therefore, repack all promisor objects if invoked with -a or -A. This is done by an additional invocation of pack-objects on all promisor objects individually given, which takes care of deduplication and allows the resulting packfiles to respect flags such as --max-pack-size. Signed-off-by: Jonathan Tan <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'Documentation')
1 files changed, 5 insertions, 0 deletions
diff --git a/Documentation/git-repack.txt b/Documentation/git-repack.txt
index d90e790..d056250 100644
--- a/Documentation/git-repack.txt
+++ b/Documentation/git-repack.txt
@@ -40,6 +40,11 @@ OPTIONS
Note that users fetching over dumb protocols will have to fetch the
whole new pack in order to get any contained object, no matter how many
other objects in that pack they already have locally.
+Promisor packfiles are repacked separately: if there are packfiles that
+have an associated ".promisor" file, these packfiles will be repacked
+into another separate pack, and an empty ".promisor" file corresponding
+to the new separate pack will be written.
Same as `-a`, unless `-d` is used. Then any unreachable