]> git.ipfire.org Git - thirdparty/git.git/commitdiff
gc docs: clarify that "gc" doesn't throw away referenced objects
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Sun, 7 Apr 2019 19:52:16 +0000 (21:52 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 8 Apr 2019 08:01:09 +0000 (17:01 +0900)
Amend the "NOTES" section to fix up wording that's been with us since
3ffb58be0a ("doc/git-gc: add a note about what is collected",
2008-04-23).

I can't remember when/where anymore (I think Freenode #Git), but at
some point I was having a conversation with someone who was convinced
that "gc" would prune things only referenced by e.g. refs/pull/*, and
pointed to this section as proof.

It turned out that they'd read the "branches and tags" wording here
and thought just refs/{heads,tags}/* and refs/remotes/* etc. would be
kept, which is what we enumerate explicitly.

So let's say "other refs", even though just above we say "objects that
are referenced anywhere in your repository".

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-gc.txt

index 5e80f306e750447a50f97f0e70f40c32655a7d34..9cdae588fb88e82ef7609b9c2f5c7a781d1669c3 100644 (file)
@@ -119,8 +119,8 @@ anywhere in your repository. 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 'git filter-branch' in
-refs/original/, or reflogs (which may reference commits in branches
-that were later amended or rewound).
+refs/original/, reflogs (which may reference commits in branches
+that were later amended or rewound), and anything else in the refs/* namespace.
 If you are expecting some objects to be deleted and they aren't, check
 all of those locations and decide whether it makes sense in your case to
 remove those references.