Merge branch 'nd/switch-and-restore'
[gitweb.git] / Documentation / git-pack-objects.txt
index 40c825c38197f4e335ebfb162415cdcc52bbdf1e..fecdf2600cc9e2c5fe7535231deaab79fc0a7278 100644 (file)
@@ -14,7 +14,7 @@ SYNOPSIS
        [--local] [--incremental] [--window=<n>] [--depth=<n>]
        [--revs [--unpacked | --all]] [--keep-pack=<pack-name>]
        [--stdout [--filter=<filter-spec>] | base-name]
-       [--shallow] [--keep-true-parents] < object-list
+       [--shallow] [--keep-true-parents] [--sparse] < object-list
 
 
 DESCRIPTION
@@ -131,7 +131,7 @@ depth is 4095.
 --keep-pack=<pack-name>::
        This flag causes an object already in the given pack to be
        ignored, even if it would have otherwise been
-       packed. `<pack-name>` is the the pack file name without
+       packed. `<pack-name>` is the pack file name without
        leading directory (e.g. `pack-123.pack`). The option could be
        specified multiple times to keep multiple packs.
 
@@ -196,6 +196,15 @@ depth is 4095.
        Add --no-reuse-object if you want to force a uniform compression
        level on all data no matter the source.
 
+--sparse::
+       Use the "sparse" algorithm to determine which objects to include in
+       the pack, when combined with the "--revs" option. This algorithm
+       only walks trees that appear in paths that introduce new objects.
+       This can have significant performance benefits when computing
+       a pack to send a small change. However, it is possible that extra
+       objects are added to the pack-file if the included commits contain
+       certain types of direct renames.
+
 --thin::
        Create a "thin" pack by omitting the common objects between a
        sender and a receiver in order to reduce network transfer. This