]> git.ipfire.org Git - thirdparty/git.git/commitdiff
run_external_diff: hoist common bits out of conditional
authorJeff King <peff@peff.net>
Sat, 19 Apr 2014 19:20:46 +0000 (15:20 -0400)
committerJunio C Hamano <gitster@pobox.com>
Mon, 21 Apr 2014 17:32:07 +0000 (10:32 -0700)
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 <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff.c

diff --git a/diff.c b/diff.c
index 4bad556812898b3023223313c2b3797dd333fc45..a360ab5063e6025b909d6f11a9b09ebbd6347e0d 100644 (file)
--- 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);