Code

count-objects -v: show number of packs as well.
authorJunio C Hamano <junkio@cox.net>
Wed, 27 Dec 2006 09:04:03 +0000 (01:04 -0800)
committerJunio C Hamano <junkio@cox.net>
Wed, 27 Dec 2006 09:05:00 +0000 (01:05 -0800)
Recent "git push" keeps transferred objects packed much more aggressively
than before.  Monitoring output from git-count-objects -v for number of
loose objects is not enough to decide when to repack -- having too many
small packs is also a good cue for repacking.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Documentation/git-count-objects.txt
builtin-count-objects.c

index 198ce77a8a541ba33855bf5236b4791e2b395557..c59df6438c5e832600c1fc7e3e504cfbcb1a02e5 100644 (file)
@@ -20,8 +20,8 @@ OPTIONS
 -v::
        In addition to the number of loose objects and disk
        space consumed, it reports the number of in-pack
-       objects, and number of objects that can be removed by
-       running `git-prune-packed`.
+       objects, number of packs, and number of objects that can be
+       removed by running `git-prune-packed`.
 
 
 Author
index 73c59824238f58c2dc94544ef67ea51741d834ac..f5b22bb80e23aef6acde2533701b7b56150948b6 100644 (file)
@@ -105,16 +105,19 @@ int cmd_count_objects(int ac, const char **av, const char *prefix)
        }
        if (verbose) {
                struct packed_git *p;
+               unsigned long num_pack = 0;
                if (!packed_git)
                        prepare_packed_git();
                for (p = packed_git; p; p = p->next) {
                        if (!p->pack_local)
                                continue;
                        packed += num_packed_objects(p);
+                       num_pack++;
                }
                printf("count: %lu\n", loose);
                printf("size: %lu\n", loose_size / 2);
                printf("in-pack: %lu\n", packed);
+               printf("packs: %lu\n", num_pack);
                printf("prune-packable: %lu\n", packed_loose);
                printf("garbage: %lu\n", garbage);
        }