From a7ddc48765ff2e4f6601ea146cba4283a342e0b1 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Tue, 16 Jan 2007 04:55:41 -0500 Subject: Correct object_count type and stat output in fast-import. Since object_count is limited to 'unsigned long' (really an unsigned 32 bit integer value) by the pack file format we may as well use exactly that type here in fast-import for that counter. An earlier change by me incorrectly made it uintmax_t. But since object_count is a counter for the current packfile only, we don't want to output its value at the end. Instead we should sum up the individual type counters and report that total, as that will cover all of the packfiles. Signed-off-by: Shawn O. Pearce --- fast-import.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/fast-import.c b/fast-import.c index 8342314bb0..3992af5f25 100644 --- a/fast-import.c +++ b/fast-import.c @@ -222,11 +222,11 @@ static uintmax_t max_objects = -1; /* Stats and misc. counters */ static uintmax_t alloc_count; -static uintmax_t object_count; static uintmax_t marks_set_count; static uintmax_t object_count_by_type[1 << TYPE_BITS]; static uintmax_t duplicate_count_by_type[1 << TYPE_BITS]; static uintmax_t delta_count_by_type[1 << TYPE_BITS]; +static unsigned long object_count; static unsigned long branch_count; static unsigned long branch_load_count; @@ -1846,7 +1846,7 @@ int main(int argc, const char **argv) { int i; uintmax_t est_obj_cnt = object_entry_alloc; - uintmax_t duplicate_count; + uintmax_t total_count, duplicate_count; setup_ident(); git_config(git_default_config); @@ -1914,6 +1914,9 @@ int main(int argc, const char **argv) if (branch_log) fclose(branch_log); + total_count = 0; + for (i = 0; i < ARRAY_SIZE(object_count_by_type); i++) + total_count += object_count_by_type[i]; duplicate_count = 0; for (i = 0; i < ARRAY_SIZE(duplicate_count_by_type); i++) duplicate_count += duplicate_count_by_type[i]; @@ -1921,7 +1924,7 @@ int main(int argc, const char **argv) fprintf(stderr, "%s statistics:\n", argv[0]); fprintf(stderr, "---------------------------------------------------------------------\n"); fprintf(stderr, "Alloc'd objects: %10ju (%10ju overflow )\n", alloc_count, alloc_count - est_obj_cnt); - fprintf(stderr, "Total objects: %10ju (%10ju duplicates )\n", object_count, duplicate_count); + fprintf(stderr, "Total objects: %10ju (%10ju duplicates )\n", total_count, duplicate_count); fprintf(stderr, " blobs : %10ju (%10ju duplicates %10ju deltas)\n", object_count_by_type[OBJ_BLOB], duplicate_count_by_type[OBJ_BLOB], delta_count_by_type[OBJ_BLOB]); fprintf(stderr, " trees : %10ju (%10ju duplicates %10ju deltas)\n", object_count_by_type[OBJ_TREE], duplicate_count_by_type[OBJ_TREE], delta_count_by_type[OBJ_TREE]); fprintf(stderr, " commits: %10ju (%10ju duplicates %10ju deltas)\n", object_count_by_type[OBJ_COMMIT], duplicate_count_by_type[OBJ_COMMIT], delta_count_by_type[OBJ_COMMIT]); -- cgit v1.2.3