diff options
author | Matt McCutchen <matt@mattmccutchen.net> | 2016-11-15 14:08:51 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-11-16 13:42:17 -0800 |
commit | f1350d0c125a1e6a73e3b6461fa90c77843c5f74 (patch) | |
tree | 41e3d58e1632d5d3d417bb7b79075a3015dcd4fb /Documentation/config.txt | |
parent | 0b65a8dbdb38962e700ee16776a3042beb489060 (diff) | |
download | git-f1350d0c125a1e6a73e3b6461fa90c77843c5f74.tar.gz |
git-gc.txt: expand discussion of races with other processesmm/gc-safety-doc
In general, "git gc" may delete objects that another concurrent process
is using but hasn't created a reference to. Git has some mitigations,
but they fall short of a complete solution. Document this in the
git-gc(1) man page and add a reference from the documentation of the
gc.pruneExpire config variable.
Based on a write-up by Jeff King:
http://marc.info/?l=git&m=147922960131779&w=2
Signed-off-by: Matt McCutchen <matt@mattmccutchen.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/config.txt')
-rw-r--r-- | Documentation/config.txt | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Documentation/config.txt b/Documentation/config.txt index 02696208c9..31df3725c7 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -1341,7 +1341,9 @@ gc.pruneExpire:: 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, or "never" may be used to - suppress pruning. + suppress pruning. This feature helps prevent corruption when + 'git gc' runs concurrently with another process writing to the + repository; see the "NOTES" section of linkgit:git-gc[1]. gc.worktreePruneExpire:: When 'git gc' is run, it calls |