From 0d4217d92e3043e23a8960519a51cc7a36ed8914 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Sat, 19 Apr 2014 15:20:46 -0400 Subject: [PATCH] run_external_diff: hoist common bits out of conditional Whether we have diff_filespecs to give to the diff command or not, we always are going to run the program and pass it the pathname. Let's pull that duplicated part out of the conditional to make it more obvious. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- diff.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/diff.c b/diff.c index 4bad556812..a360ab5063 100644 --- a/diff.c +++ b/diff.c @@ -2911,13 +2911,14 @@ static void run_external_diff(const char *pgm, struct argv_array env = ARGV_ARRAY_INIT; struct diff_queue_struct *q = &diff_queued_diff; + argv_array_push(&argv, pgm); + argv_array_push(&argv, name); + if (one && two) { struct diff_tempfile *temp_one, *temp_two; const char *othername = (other ? other : name); temp_one = prepare_temp_file(name, one); temp_two = prepare_temp_file(othername, two); - argv_array_push(&argv, pgm); - argv_array_push(&argv, name); argv_array_push(&argv, temp_one->name); argv_array_push(&argv, temp_one->hex); argv_array_push(&argv, temp_one->mode); @@ -2928,9 +2929,6 @@ static void run_external_diff(const char *pgm, argv_array_push(&argv, other); argv_array_push(&argv, xfrm_msg); } - } else { - argv_array_push(&argv, pgm); - argv_array_push(&argv, name); } argv_array_pushf(&env, "GIT_DIFF_PATH_COUNTER=%d", ++o->diff_path_counter); -- 2.11.4.GIT