summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2006-12-27 09:04:03 (GMT)
committerJunio C Hamano <junkio@cox.net>2006-12-27 09:05:00 (GMT)
commitae72f685418b79bbd67e1017c5b1ac7d731c042e (patch)
tree527b09ab4f3d01fc91ca1f10a6deadffcc01ce14
parente8b4029f990907e24fac0e7772ee19ee6dd55c1c (diff)
downloadgit-ae72f685418b79bbd67e1017c5b1ac7d731c042e.zip
git-ae72f685418b79bbd67e1017c5b1ac7d731c042e.tar.gz
git-ae72f685418b79bbd67e1017c5b1ac7d731c042e.tar.bz2
count-objects -v: show number of packs as well.
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>
-rw-r--r--Documentation/git-count-objects.txt4
-rw-r--r--builtin-count-objects.c3
2 files changed, 5 insertions, 2 deletions
diff --git a/Documentation/git-count-objects.txt b/Documentation/git-count-objects.txt
index 198ce77..c59df64 100644
--- a/Documentation/git-count-objects.txt
+++ b/Documentation/git-count-objects.txt
@@ -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
diff --git a/builtin-count-objects.c b/builtin-count-objects.c
index 73c5982..f5b22bb 100644
--- a/builtin-count-objects.c
+++ b/builtin-count-objects.c
@@ -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);
}