count-objects: Add total pack size to verbose output
Adds the total pack size (including indexes) the verbose count-objects output, floored to the nearest kilobyte. Updates documentation to match this addition. Signed-off-by: Marcus Griep <marcus@griep.us> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
							parent
							
								
									053fd0c1c3
								
							
						
					
					
						commit
						f223824943
					
				|  | @ -21,8 +21,9 @@ OPTIONS | ||||||
| --verbose:: | --verbose:: | ||||||
| 	In addition to the number of loose objects and disk | 	In addition to the number of loose objects and disk | ||||||
| 	space consumed, it reports the number of in-pack | 	space consumed, it reports the number of in-pack | ||||||
| 	objects, number of packs, and number of objects that can be | 	objects, number of packs, disk space consumed by those packs, | ||||||
| 	removed by running `git prune-packed`. | 	and number of objects that can be removed by running | ||||||
|  | 	`git prune-packed`. | ||||||
|  |  | ||||||
|  |  | ||||||
| Author | Author | ||||||
|  |  | ||||||
|  | @ -104,6 +104,7 @@ int cmd_count_objects(int argc, const char **argv, const char *prefix) | ||||||
| 	if (verbose) { | 	if (verbose) { | ||||||
| 		struct packed_git *p; | 		struct packed_git *p; | ||||||
| 		unsigned long num_pack = 0; | 		unsigned long num_pack = 0; | ||||||
|  | 		unsigned long size_pack = 0; | ||||||
| 		if (!packed_git) | 		if (!packed_git) | ||||||
| 			prepare_packed_git(); | 			prepare_packed_git(); | ||||||
| 		for (p = packed_git; p; p = p->next) { | 		for (p = packed_git; p; p = p->next) { | ||||||
|  | @ -112,12 +113,14 @@ int cmd_count_objects(int argc, const char **argv, const char *prefix) | ||||||
| 			if (open_pack_index(p)) | 			if (open_pack_index(p)) | ||||||
| 				continue; | 				continue; | ||||||
| 			packed += p->num_objects; | 			packed += p->num_objects; | ||||||
|  | 			size_pack += p->pack_size + p->index_size; | ||||||
| 			num_pack++; | 			num_pack++; | ||||||
| 		} | 		} | ||||||
| 		printf("count: %lu\n", loose); | 		printf("count: %lu\n", loose); | ||||||
| 		printf("size: %lu\n", loose_size / 2); | 		printf("size: %lu\n", loose_size / 2); | ||||||
| 		printf("in-pack: %lu\n", packed); | 		printf("in-pack: %lu\n", packed); | ||||||
| 		printf("packs: %lu\n", num_pack); | 		printf("packs: %lu\n", num_pack); | ||||||
|  | 		printf("size-pack: %lu\n", size_pack / 1024); | ||||||
| 		printf("prune-packable: %lu\n", packed_loose); | 		printf("prune-packable: %lu\n", packed_loose); | ||||||
| 		printf("garbage: %lu\n", garbage); | 		printf("garbage: %lu\n", garbage); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | @ -137,7 +137,7 @@ test_expect_success "clone shallow object count" \ | ||||||
| 	"test \"in-pack: 18\" = \"$(grep in-pack count.shallow)\"" | 	"test \"in-pack: 18\" = \"$(grep in-pack count.shallow)\"" | ||||||
|  |  | ||||||
| count_output () { | count_output () { | ||||||
| 	sed -e '/^in-pack:/d' -e '/^packs:/d' -e '/: 0$/d' "$1" | 	sed -e '/^in-pack:/d' -e '/^packs:/d' -e '/^size-pack:/d' -e '/: 0$/d' "$1" | ||||||
| } | } | ||||||
|  |  | ||||||
| test_expect_success "clone shallow object count (part 2)" ' | test_expect_success "clone shallow object count (part 2)" ' | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Marcus Griep
						Marcus Griep