зеркало из https://github.com/microsoft/git.git
make "git push -v" actually verbose
Providing a single "-v" to "git push" currently does nothing. Giving two flags ("git push -v -v") turns on the first level of verbosity. This is caused by a regression introduced in8afd8dc
(push: support multiple levels of verbosity, 2010-02-24). Before the series containing8afd8dc
, the verbosity handling for fetching and pushing was completely separate. Commitbde873c
refactored the verbosity handling out of the fetch side, and then8afd8dc
converted push to use the refactored code. However, the fetch and push sides numbered and passed along their verbosity levels differently. For both, a verbosity level of "-1" meant "quiet", and "0" meant "default output". But from there they differed. For fetch, a verbosity level of "1" indicated to the "fetch" program that it should make the status table slightly more verbose, showing up-to-date entries. A verbosity level of "2" meant that we should pass a verbose flag to the transport; in the case of fetch-pack, this displays protocol debugging information. As a result, the refactored code inbde873c
checks for "verbosity >= 2", and only then passes it on to the transport. From the transport code's perspective, a verbosity of 0 or 1 both meant "0". Push, on the other hand, does not show its own status table; that is always handled by the transport layer or below (originally send-pack itself, but these days it is done by the transport code). So a verbosity level of 1 meant that we should pass the verbose flag to send-pack, so that it knows we want a verbose status table. However, once8afd8dc
switched it to the refactored fetch code, a verbosity level of 1 was now being ignored. Thus, you needed to artificially bump the verbosity to 2 (via "-v -v") to have any effect. We can fix this by letting the transport code know about the true verbosity level (i.e., let it distinguish level 0 or 1). We then have to also make an adjustment to any transport methods that assumed "verbose > 0" meant they could spew lots of debugging information. Before, they could only get "0" or "2", but now they will also receive "1". They need to adjust their condition for turning on such spew from "verbose > 0" to "verbose > 1". Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
15b7898c5e
Коммит
bd2c86ef00
10
transport.c
10
transport.c
|
@ -214,7 +214,7 @@ static struct ref *get_refs_via_rsync(struct transport *transport, int for_push)
|
|||
rsync.argv = args;
|
||||
rsync.stdout_to_stderr = 1;
|
||||
args[0] = "rsync";
|
||||
args[1] = (transport->verbose > 0) ? "-rv" : "-r";
|
||||
args[1] = (transport->verbose > 1) ? "-rv" : "-r";
|
||||
args[2] = buf.buf;
|
||||
args[3] = temp_dir.buf;
|
||||
args[4] = NULL;
|
||||
|
@ -267,7 +267,7 @@ static int fetch_objs_via_rsync(struct transport *transport,
|
|||
rsync.argv = args;
|
||||
rsync.stdout_to_stderr = 1;
|
||||
args[0] = "rsync";
|
||||
args[1] = (transport->verbose > 0) ? "-rv" : "-r";
|
||||
args[1] = (transport->verbose > 1) ? "-rv" : "-r";
|
||||
args[2] = "--ignore-existing";
|
||||
args[3] = "--exclude";
|
||||
args[4] = "info";
|
||||
|
@ -350,7 +350,7 @@ static int rsync_transport_push(struct transport *transport,
|
|||
args[i++] = "-a";
|
||||
if (flags & TRANSPORT_PUSH_DRY_RUN)
|
||||
args[i++] = "--dry-run";
|
||||
if (transport->verbose > 0)
|
||||
if (transport->verbose > 1)
|
||||
args[i++] = "-v";
|
||||
args[i++] = "--ignore-existing";
|
||||
args[i++] = "--exclude";
|
||||
|
@ -525,7 +525,7 @@ static int fetch_refs_via_pack(struct transport *transport,
|
|||
args.lock_pack = 1;
|
||||
args.use_thin_pack = data->options.thin;
|
||||
args.include_tag = data->options.followtags;
|
||||
args.verbose = (transport->verbose > 0);
|
||||
args.verbose = (transport->verbose > 1);
|
||||
args.quiet = (transport->verbose < 0);
|
||||
args.no_progress = !transport->progress;
|
||||
args.depth = data->options.depth;
|
||||
|
@ -987,7 +987,7 @@ int transport_set_option(struct transport *transport,
|
|||
void transport_set_verbosity(struct transport *transport, int verbosity,
|
||||
int force_progress)
|
||||
{
|
||||
if (verbosity >= 2)
|
||||
if (verbosity >= 1)
|
||||
transport->verbose = verbosity <= 3 ? verbosity : 3;
|
||||
if (verbosity < 0)
|
||||
transport->verbose = -1;
|
||||
|
|
Загрузка…
Ссылка в новой задаче