Skip to content

Commit

Permalink
run_external_diff: hoist common bits out of conditional
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Jeff King authored and Junio C Hamano committed Apr 21, 2014
1 parent 5b88caa commit 0d4217d
Showing 1 changed file with 3 additions and 5 deletions.
8 changes: 3 additions & 5 deletions diff.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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);
Expand Down

0 comments on commit 0d4217d

Please sign in to comment.