]> git.ipfire.org Git - thirdparty/git.git/blobdiff - Documentation/git-repack.txt
builtin/repack.c: implement support for `--max-cruft-size`
[thirdparty/git.git] / Documentation / git-repack.txt
index ee30edc178a4d418610612215935452b6daca567..fbfc72e1b255c9efa997577ee66e8146caf5ce70 100644 (file)
@@ -63,6 +63,34 @@ to the new separate pack will be written.
        Also run  'git prune-packed' to remove redundant
        loose object files.
 
+--cruft::
+       Same as `-a`, unless `-d` is used. Then any unreachable objects
+       are packed into a separate cruft pack. Unreachable objects can
+       be pruned using the normal expiry rules with the next `git gc`
+       invocation (see linkgit:git-gc[1]). Incompatible with `-k`.
+
+--cruft-expiration=<approxidate>::
+       Expire unreachable objects older than `<approxidate>`
+       immediately instead of waiting for the next `git gc` invocation.
+       Only useful with `--cruft -d`.
+
+--max-cruft-size=<n>::
+       Repack cruft objects into packs as large as `<n>` bytes before
+       creating new packs. As long as there are enough cruft packs
+       smaller than `<n>`, repacking will cause a new cruft pack to
+       be created containing objects from any combined cruft packs,
+       along with any new unreachable objects. Cruft packs larger than
+       `<n>` will not be modified. When the new cruft pack is larger
+       than `<n>` bytes, it will be split into multiple packs, all of
+       which are guaranteed to be at most `<n>` bytes in size. Only
+       useful with `--cruft -d`.
+
+--expire-to=<dir>::
+       Write a cruft pack containing pruned objects (if any) to the
+       directory `<dir>`. This option is useful for keeping a copy of
+       any pruned objects in a separate directory as a backup. Only
+       useful with `--cruft -d`.
+
 -l::
        Pass the `--local` option to 'git pack-objects'. See
        linkgit:git-pack-objects[1].