Merge branch 'js/gitdir-at-unc-root'
[gitweb.git] / Documentation / git-multi-pack-index.txt
index 6186c4c9369a9c5c57096f19fa9e428d662d5a5e..233b2b786271cc695268d2f7c0139d02228bd3c2 100644 (file)
@@ -36,6 +36,23 @@ expire::
        have no objects referenced by the MIDX. Rewrite the MIDX file
        afterward to remove all references to these pack-files.
 
+repack::
+       Create a new pack-file containing objects in small pack-files
+       referenced by the multi-pack-index. If the size given by the
+       `--batch-size=<size>` argument is zero, then create a pack
+       containing all objects referenced by the multi-pack-index. For
+       a non-zero batch size, Select the pack-files by examining packs
+       from oldest-to-newest, computing the "expected size" by counting
+       the number of objects in the pack referenced by the
+       multi-pack-index, then divide by the total number of objects in
+       the pack and multiply by the pack size. We select packs with
+       expected size below the batch size until the set of packs have
+       total expected size at least the batch size. If the total size
+       does not reach the batch size, then do nothing. If a new pack-
+       file is created, rewrite the multi-pack-index to reference the
+       new pack-file. A later run of 'git multi-pack-index expire' will
+       delete the pack-files that were part of this batch.
+
 
 EXAMPLES
 --------