Merge branch 'jc/doc-gc-prune-now'
authorJunio C Hamano <gitster@pobox.com>
Fri, 16 Oct 2015 21:42:50 +0000 (14:42 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 16 Oct 2015 21:42:50 +0000 (14:42 -0700)
"git gc" is safe to run anytime only because it has the built-in
grace period to protect young objects. In order to run with no
grace period, the user must make sure that the repository is
quiescent.

* jc/doc-gc-prune-now:
Documentation/gc: warn against --prune=<now>

1  2 
Documentation/git-gc.txt
diff --combined Documentation/git-gc.txt
index 52234987f9993a0b9f6d3f50ce9b26e074f3b58d,6692fa7e34b0e04227562c9069e2e41623668e1c..fa1510480a1d55236f2c467a0d4e901bbc60dc84
@@@ -54,17 -54,20 +54,20 @@@ all loose objects are combined into a s
  `git repack -d -l`.  Setting the value of `gc.auto` to 0
  disables automatic packing of loose objects.
  +
 -If the number of packs exceeds the value of `gc.autopacklimit`,
 +If the number of packs exceeds the value of `gc.autoPackLimit`,
  then existing packs (except those marked with a `.keep` file)
  are consolidated into a single pack by using the `-A` option of
 -'git repack'. Setting `gc.autopacklimit` to 0 disables
 +'git repack'. Setting `gc.autoPackLimit` to 0 disables
  automatic consolidation of packs.
  
  --prune=<date>::
        Prune loose objects older than date (default is 2 weeks ago,
        overridable by the config variable `gc.pruneExpire`).
-       --prune=all prunes loose objects regardless of their age.
-       --prune is on by default.
+       --prune=all prunes loose objects regardless of their age (do
+       not use --prune=all unless you know exactly what you are doing.
+       Unless the repository is quiescent, you will lose newly created
+       objects that haven't been anchored with the refs and end up
+       corrupting your repository).  --prune is on by default.
  
  --no-prune::
        Do not prune any loose objects.
@@@ -101,18 -104,18 +104,18 @@@ branches
  ------------
  [gc "refs/remotes/*"]
        reflogExpire = never
 -      reflogexpireUnreachable = 3 days
 +      reflogExpireUnreachable = 3 days
  ------------
  
 -The optional configuration variable 'gc.rerereresolved' indicates
 +The optional configuration variable 'gc.rerereResolved' indicates
  how long records of conflicted merge you resolved earlier are
  kept.  This defaults to 60 days.
  
 -The optional configuration variable 'gc.rerereunresolved' indicates
 +The optional configuration variable 'gc.rerereUnresolved' indicates
  how long records of conflicted merge you have not resolved are
  kept.  This defaults to 15 days.
  
 -The optional configuration variable 'gc.packrefs' determines if
 +The optional configuration variable 'gc.packRefs' determines if
  'git gc' runs 'git pack-refs'. This can be set to "notbare" to enable
  it within all non-bare repos or it can be set to a boolean value.
  This defaults to true.