summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2007-09-17 00:55:13 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2007-09-17 23:12:16 -0700
commit17815501a8f95c080891acd9537514adfe17c80e (patch)
tree24a58abb997d75c363997883ebde4032ea0ebbc7 /Documentation
parentgit-gc --auto: restructure the way "repack" command line is built. (diff)
downloadtgif-17815501a8f95c080891acd9537514adfe17c80e.tar.xz
git-gc --auto: run "repack -A -d -l" as necessary.
This teaches "git-gc --auto" to consolidate many packs into one without losing unreachable objects in them by using "repack -A" when there are too many packfiles that are not marked with *.keep in the repository. gc.autopacklimit configuration can be used to set the maximum number of packs a repository is allowed to have before this mechanism kicks in. Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/config.txt6
-rw-r--r--Documentation/git-gc.txt7
2 files changed, 12 insertions, 1 deletions
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 6b6553d9da..b0390f82b8 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -446,6 +446,12 @@ gc.auto::
light-weight garbage collection from time to time. Setting
this to 0 disables it.
+gc.autopacklimit::
+ When there are more than this many packs that are not
+ marked with `*.keep` file in the repository, `git gc
+ --auto` consolidates them into one larger pack. Setting
+ this to 0 disables this.
+
gc.packrefs::
`git gc` does not run `git pack-refs` in a bare repository by
default so that older dumb-transport clients can still fetch
diff --git a/Documentation/git-gc.txt b/Documentation/git-gc.txt
index 40c1ce4a21..b9d5660eac 100644
--- a/Documentation/git-gc.txt
+++ b/Documentation/git-gc.txt
@@ -47,10 +47,15 @@ OPTIONS
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 is set with `gc.auto` configuration
+ 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
-------------