summaryrefslogtreecommitdiff
path: root/Documentation/git-gc.txt
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2008-04-23 21:28:36 -0400
committerJunio C Hamano <gitster@pobox.com>2008-04-24 21:50:19 -0700
commit3ffb58be0a779b47e1e4d3ea584ba301461a3a77 (patch)
tree7136b8c79ca5862f1f57118312e74f270be3f50b /Documentation/git-gc.txt
parentd6958a1a32814af69a7571daa45252018c61f969 (diff)
downloadgit-3ffb58be0a779b47e1e4d3ea584ba301461a3a77.tar.gz
doc/git-gc: add a note about what is collected
It seems to be a FAQ that people try running git-gc, and then get puzzled about why the size of their .git directory didn't change. This note mentions the reasons why things might unexpectedly get kept. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/git-gc.txt')
-rw-r--r--Documentation/git-gc.txt15
1 files changed, 15 insertions, 0 deletions
diff --git a/Documentation/git-gc.txt b/Documentation/git-gc.txt
index d424a4ecbe..b6b5ce1519 100644
--- a/Documentation/git-gc.txt
+++ b/Documentation/git-gc.txt
@@ -104,6 +104,21 @@ The optional configuration variable 'gc.pruneExpire' controls how old
the unreferenced loose objects have to be before they are pruned. The
default is "2 weeks ago".
+
+Notes
+-----
+
+git-gc tries very hard to be safe about the garbage it collects. In
+particular, it will keep not only objects referenced by your current set
+of branches and tags, but also objects referenced by the index, remote
+tracking branches, refs saved by linkgit:git-filter-branch[1] in
+refs/original/, or reflogs (which may references commits in branches
+that were later amended or rewound).
+
+If you are expecting some objects to be collected and they aren't, check
+all of those locations and decide whether it makes sense in your case to
+remove those references.
+
See Also
--------
linkgit:git-prune[1]