Restore default verbosity for http fetches.

This adds a verbosity level below 0 for suppressing default messages
with --quiet, and makes the default for http be verbose instead of
quiet. This matches the behavior of the shell script version of git-fetch.

Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff --git a/builtin-fetch.c b/builtin-fetch.c
index ac68ff5..cf7498b 100644
--- a/builtin-fetch.c
+++ b/builtin-fetch.c
@@ -533,7 +533,7 @@
 	if (verbose >= 2)
 		transport->verbose = 1;
 	if (quiet)
-		transport->verbose = 0;
+		transport->verbose = -1;
 	if (upload_pack)
 		set_option(TRANS_OPT_UPLOADPACK, upload_pack);
 	if (keep)
diff --git a/transport.c b/transport.c
index 7266fd3..6fe6ec8 100644
--- a/transport.c
+++ b/transport.c
@@ -161,7 +161,7 @@
 	rsync.argv = args;
 	rsync.stdout_to_stderr = 1;
 	args[0] = "rsync";
-	args[1] = transport->verbose ? "-rv" : "-r";
+	args[1] = (transport->verbose > 0) ? "-rv" : "-r";
 	args[2] = buf.buf;
 	args[3] = temp_dir.buf;
 	args[4] = NULL;
@@ -214,7 +214,7 @@
 	rsync.argv = args;
 	rsync.stdout_to_stderr = 1;
 	args[0] = "rsync";
-	args[1] = transport->verbose ? "-rv" : "-r";
+	args[1] = (transport->verbose > 0) ? "-rv" : "-r";
 	args[2] = "--ignore-existing";
 	args[3] = "--exclude";
 	args[4] = "info";
@@ -290,7 +290,7 @@
 	rsync.argv = args;
 	rsync.stdout_to_stderr = 1;
 	args[0] = "rsync";
-	args[1] = transport->verbose ? "-av" : "-a";
+	args[1] = (transport->verbose > 0) ? "-av" : "-a";
 	args[2] = "--ignore-existing";
 	args[3] = "--exclude";
 	args[4] = "info";
@@ -344,7 +344,7 @@
 	walker->get_all = 1;
 	walker->get_tree = 1;
 	walker->get_history = 1;
-	walker->get_verbosely = transport->verbose;
+	walker->get_verbosely = transport->verbose >= 0;
 	walker->get_recover = 0;
 
 	for (i = 0; i < nr_objs; i++)
@@ -637,7 +637,7 @@
 	args.keep_pack = data->keep;
 	args.lock_pack = 1;
 	args.use_thin_pack = data->thin;
-	args.verbose = transport->verbose;
+	args.verbose = transport->verbose > 0;
 	args.depth = data->depth;
 
 	for (i = 0; i < nr_heads; i++)
diff --git a/transport.h b/transport.h
index 6e318e4..4bb51d7 100644
--- a/transport.h
+++ b/transport.h
@@ -24,7 +24,7 @@
 
 	int (*disconnect)(struct transport *connection);
 	char *pack_lockfile;
-	unsigned verbose : 1;
+	signed verbose : 2;
 };
 
 #define TRANSPORT_PUSH_ALL 1