Subject: Re: Seriously broken "git pack-refs"

From: Junio C Hamano <[email-masked]>
Date: Thu, 25 Jan 2007 22:50:18 -0800

Linus Torvalds <[email-masked]> writes:

> Tags automatically fall under that heading (which is why it makes sense to 
> pack them by default in the first place!) but so does any ref that was 
> already packed, and hadn't become unpacked since the last repack. By 
> definition, such a ref isn't "actively changing" even if it isn't a tag.
>
> No?

Yes.

diff --git a/Documentation/git-pack-refs.txt b/Documentation/git-pack-refs.txt
index 464269f..b79b79d 100644
--- a/Documentation/git-pack-refs.txt
+++ b/Documentation/git-pack-refs.txt
@@ -34,11 +34,16 @@ OPTIONS
 
 \--all::
 
-The command by default packs all tags and leaves branch tips
+The command by default packs all tags and refs that are already
+packed, and leaves other refs
 alone.  This is because branches are expected to be actively
 developed and packing their tips does not help performance.
 This option causes branch tips to be packed as well.  Useful for
 a repository with many branches of historical interests.
+Once packing with `\--all` is done, further repacking with the
+default will keep the already packed refs (including branch
+heads) packed, while still actively developed branch heads will
+not be packed (because they become unpacked once modified).
 
 \--no-prune::