Skip to content

Commit

Permalink
Documentation/config: mention "now" and "never" for 'expire' settings
Browse files Browse the repository at this point in the history
In addition to approxidate-style values ("2.months.ago", "yesterday"),
consumers of 'gc.*expire*' configuration variables also accept and
respect 'now' ("do it immediately") and 'never' ("suppress entirely").

Suggested-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
sunshineco authored and gitster committed Jul 28, 2015
1 parent 5f5f553 commit 8cc8816
Showing 1 changed file with 11 additions and 5 deletions.
16 changes: 11 additions & 5 deletions Documentation/config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1226,28 +1226,34 @@ gc.packrefs::
gc.pruneexpire::
When 'git gc' is run, it will call 'prune --expire 2.weeks.ago'.
Override the grace period with this config variable. The value
"now" may be used to disable this grace period and always prune
unreachable objects immediately.
"now" may be used to disable this grace period and always prune
unreachable objects immediately, or "never" may be used to
suppress pruning.

gc.worktreePruneExpire::
When 'git gc' is run, it calls
'git worktree prune --expire 3.months.ago'.
This config variable can be used to set a different grace
period. The value "now" may be used to disable the grace
period and prune $GIT_DIR/worktrees immediately.
period and prune $GIT_DIR/worktrees immediately, or "never"
may be used to suppress pruning.

gc.reflogexpire::
gc.<pattern>.reflogexpire::
'git reflog expire' removes reflog entries older than
this time; defaults to 90 days. With "<pattern>" (e.g.
this time; defaults to 90 days. The value "now" expires all
entries immediately, and "never" suppresses expiration
altogether. With "<pattern>" (e.g.
"refs/stash") in the middle the setting applies only to
the refs that match the <pattern>.

gc.reflogexpireunreachable::
gc.<ref>.reflogexpireunreachable::
'git reflog expire' removes reflog entries older than
this time and are not reachable from the current tip;
defaults to 30 days. With "<pattern>" (e.g. "refs/stash")
defaults to 30 days. The value "now" expires all entries
immediately, and "never" suppresses expiration altogether.
With "<pattern>" (e.g. "refs/stash")
in the middle, the setting applies only to the refs that
match the <pattern>.

Expand Down

0 comments on commit 8cc8816

Please sign in to comment.