apply: don't print on stdout in verbosity_silent mode

When apply_verbosity is set to verbosity_silent nothing should be
printed on both stderr and stdout.

To avoid printing on stdout, we can just skip calling the following
functions:

	- stat_patch_list(),
	- numstat_patch_list(),
	- summary_patch_list().

It is safe to do that because the above functions have no side
effects other than printing:

- stat_patch_list() only computes some local values and then call
show_stats() and print_stat_summary(), those two functions only
compute local values and call printing functions,
- numstat_patch_list() also only computes local values and calls
printing functions,
- summary_patch_list() calls show_file_mode_name(), printf(),
show_rename_copy(), show_mode_change() that are only printing.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Christian Couder 2016-09-04 22:18:26 +02:00 коммит произвёл Junio C Hamano
Родитель a46160d27e
Коммит 487beee0c3
1 изменённых файлов: 3 добавлений и 3 удалений

Просмотреть файл

@ -4702,13 +4702,13 @@ static int apply_patch(struct apply_state *state,
goto end;
}
if (state->diffstat)
if (state->diffstat && state->apply_verbosity > verbosity_silent)
stat_patch_list(state, list);
if (state->numstat)
if (state->numstat && state->apply_verbosity > verbosity_silent)
numstat_patch_list(state, list);
if (state->summary)
if (state->summary && state->apply_verbosity > verbosity_silent)
summary_patch_list(list);
end: