contrib/subtree: ensure only one rev is provided
[git/git.git] / Documentation / config / gc.txt
1 gc.aggressiveDepth::
2 The depth parameter used in the delta compression
3 algorithm used by 'git gc --aggressive'. This defaults
4 to 50.
5
6 gc.aggressiveWindow::
7 The window size parameter used in the delta compression
8 algorithm used by 'git gc --aggressive'. This defaults
9 to 250.
10
11 gc.auto::
12 When there are approximately more than this many loose
13 objects in the repository, `git gc --auto` will pack them.
14 Some Porcelain commands use this command to perform a
15 light-weight garbage collection from time to time. The
16 default value is 6700. Setting this to 0 disables it.
17
18 gc.autoPackLimit::
19 When there are more than this many packs that are not
20 marked with `*.keep` file in the repository, `git gc
21 --auto` consolidates them into one larger pack. The
22 default value is 50. Setting this to 0 disables it.
23
24 gc.autoDetach::
25 Make `git gc --auto` return immediately and run in background
26 if the system supports it. Default is true.
27
28 gc.bigPackThreshold::
29 If non-zero, all packs larger than this limit are kept when
30 `git gc` is run. This is very similar to `--keep-base-pack`
31 except that all packs that meet the threshold are kept, not
32 just the base pack. Defaults to zero. Common unit suffixes of
33 'k', 'm', or 'g' are supported.
34 +
35 Note that if the number of kept packs is more than gc.autoPackLimit,
36 this configuration variable is ignored, all packs except the base pack
37 will be repacked. After this the number of packs should go below
38 gc.autoPackLimit and gc.bigPackThreshold should be respected again.
39
40 gc.writeCommitGraph::
41 If true, then gc will rewrite the commit-graph file when
42 linkgit:git-gc[1] is run. When using linkgit:git-gc[1]
43 '--auto' the commit-graph will be updated if housekeeping is
44 required. Default is false. See linkgit:git-commit-graph[1]
45 for details.
46
47 gc.logExpiry::
48 If the file gc.log exists, then `git gc --auto` will print
49 its content and exit with status zero instead of running
50 unless that file is more than 'gc.logExpiry' old. Default is
51 "1.day". See `gc.pruneExpire` for more ways to specify its
52 value.
53
54 gc.packRefs::
55 Running `git pack-refs` in a repository renders it
56 unclonable by Git versions prior to 1.5.1.2 over dumb
57 transports such as HTTP. This variable determines whether
58 'git gc' runs `git pack-refs`. This can be set to `notbare`
59 to enable it within all non-bare repos or it can be set to a
60 boolean value. The default is `true`.
61
62 gc.pruneExpire::
63 When 'git gc' is run, it will call 'prune --expire 2.weeks.ago'.
64 Override the grace period with this config variable. The value
65 "now" may be used to disable this grace period and always prune
66 unreachable objects immediately, or "never" may be used to
67 suppress pruning. This feature helps prevent corruption when
68 'git gc' runs concurrently with another process writing to the
69 repository; see the "NOTES" section of linkgit:git-gc[1].
70
71 gc.worktreePruneExpire::
72 When 'git gc' is run, it calls
73 'git worktree prune --expire 3.months.ago'.
74 This config variable can be used to set a different grace
75 period. The value "now" may be used to disable the grace
76 period and prune `$GIT_DIR/worktrees` immediately, or "never"
77 may be used to suppress pruning.
78
79 gc.reflogExpire::
80 gc.<pattern>.reflogExpire::
81 'git reflog expire' removes reflog entries older than
82 this time; defaults to 90 days. The value "now" expires all
83 entries immediately, and "never" suppresses expiration
84 altogether. With "<pattern>" (e.g.
85 "refs/stash") in the middle the setting applies only to
86 the refs that match the <pattern>.
87
88 gc.reflogExpireUnreachable::
89 gc.<pattern>.reflogExpireUnreachable::
90 'git reflog expire' removes reflog entries older than
91 this time and are not reachable from the current tip;
92 defaults to 30 days. The value "now" expires all entries
93 immediately, and "never" suppresses expiration altogether.
94 With "<pattern>" (e.g. "refs/stash")
95 in the middle, the setting applies only to the refs that
96 match the <pattern>.
97
98 gc.rerereResolved::
99 Records of conflicted merge you resolved earlier are
100 kept for this many days when 'git rerere gc' is run.
101 You can also use more human-readable "1.month.ago", etc.
102 The default is 60 days. See linkgit:git-rerere[1].
103
104 gc.rerereUnresolved::
105 Records of conflicted merge you have not resolved are
106 kept for this many days when 'git rerere gc' is run.
107 You can also use more human-readable "1.month.ago", etc.
108 The default is 15 days. See linkgit:git-rerere[1].