Subject: [PATCH] git verify-pack -vs

From: Daniel DeLorme <[email-masked]>
Date: Sat, 25 Sep 2010 14:45:29 +0900

According to git help verify-pack, when --stat-only and --verbose are 
used together the "list of objects is also shown." But in fact it is 
not; `git verify-pack -sv` has the same behavior as `git verify-pack -s`
It seems like a trivial mistake in verify-pack.c (the verbose behavior 
is triggered with !stat_only) so here is a patch that makes the behavior 
fit the manual's description.

--
Daniel DeLorme
diff --git a/builtin/verify-pack.c b/builtin/verify-pack.c
index b6079ae..ad67eb8 100644
--- a/builtin/verify-pack.c
+++ b/builtin/verify-pack.c
@@ -13,6 +13,7 @@ static void show_pack_info(struct packed_git *p, unsigned int flags)
 {
 	uint32_t nr_objects, i;
 	int cnt;
+	int verbose = flags & VERIFY_PACK_VERBOSE;
 	int stat_only = flags & VERIFY_PACK_STAT_ONLY;
 	unsigned long chain_histogram[MAX_CHAIN+1], baseobjects;
 
@@ -36,16 +37,16 @@ static void show_pack_info(struct packed_git *p, unsigned int flags)
 		type = packed_object_info_detail(p, offset, &size, &store_size,
 						 &delta_chain_length,
 						 base_sha1);
-		if (!stat_only)
+		if (verbose)
 			printf("%s ", sha1_to_hex(sha1));
 		if (!delta_chain_length) {
-			if (!stat_only)
+			if (verbose)
 				printf("%-6s %lu %lu %"PRIuMAX"\n",
 				       type, size, store_size, (uintmax_t)offset);
 			baseobjects++;
 		}
 		else {
-			if (!stat_only)
+			if (verbose)
 				printf("%-6s %lu %lu %"PRIuMAX" %u %s\n",
 				       type, size, store_size, (uintmax_t)offset,
 				       delta_chain_length, sha1_to_hex(base_sha1));