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>

Christian Couder committed Sep 4, 2016 at 22:18 UTC 487beee0c37d48f06f1ccf19889f6c3dcbdbfa28
1 file changed +3 -3
apply.c
+3 -3
@@ -4702,13 +4702,13 @@ static int apply_patch(struct apply_state *state,
4702 goto end;
4703 }
4704
4705 - if (state->diffstat)
4705 + if (state->diffstat && state->apply_verbosity > verbosity_silent)
4706 stat_patch_list(state, list);
4707
4708 - if (state->numstat)
4708 + if (state->numstat && state->apply_verbosity > verbosity_silent)
4709 numstat_patch_list(state, list);
4710
4711 - if (state->summary)
4711 + if (state->summary && state->apply_verbosity > verbosity_silent)
4712 summary_patch_list(list);
4713
4714 end: