Code

Fix some typos, punctuation, missing words, minor markup.
[git.git] / Documentation / git-gc.txt
index bc1658434a61bdba41699859f103a3c8e0802d95..b9d5660eacee03bde2360b97b80f3378972fe678 100644 (file)
@@ -8,7 +8,7 @@ git-gc - Cleanup unnecessary files and optimize the local repository
 
 SYNOPSIS
 --------
-'git-gc' [--prune]
+'git-gc' [--prune] [--aggressive] [--auto]
 
 DESCRIPTION
 -----------
@@ -35,6 +35,27 @@ OPTIONS
        repository at the same time (e.g. never use this option
        in a cron script).
 
+--aggressive::
+       Usually 'git-gc' runs very quickly while providing good disk
+       space utilization and performance.  This option will cause
+       git-gc to more aggressively optimize the repository at the expense
+       of taking much more time.  The effects of this optimization are
+       persistent, so this option only needs to be used occasionally; every
+       few hundred changesets or so.
+
+--auto::
+       With this option, `git gc` checks if there are too many
+       loose objects in the repository and runs
+       gitlink:git-repack[1] with `-d -l` option to pack them.
+       The threshold for loose objects is set with `gc.auto` configuration
+       variable, and can be disabled by setting it to 0.  Some
+       Porcelain commands use this after they perform operation
+       that could create many loose objects automatically.
+       Additionally, when there are too many packs are present,
+       they are consolidated into one larger pack by running
+       the `git-repack` command with `-A` option.  The
+       threshold for number of packs is set with
+       `gc.autopacklimit` configuration variable.
 
 Configuration
 -------------
@@ -67,6 +88,13 @@ The optional configuration variable 'gc.packrefs' determines if
 is not run in bare repositories by default, to allow older dumb-transport
 clients fetch from the repository,  but this will change in the future.
 
+The optional configuration variable 'gc.aggressiveWindow' controls how
+much time is spent optimizing the delta compression of the objects in
+the repository when the --aggressive option is specified.  The larger
+the value, the more time is spent optimizing the delta compression.  See
+the documentation for the --window' option in gitlink:git-repack[1] for
+more details.  This defaults to 10.
+
 See Also
 --------
 gitlink:git-prune[1]