Browse Source

diff-patch: Avoid emitting double-slashes in textual patch.

Signed-off-by: Junio C Hamano <junkio@cox.net>
maint
Junio C Hamano 18 years ago
parent
commit
5089277718
  1. 6
      diff.c

6
diff.c

@ -211,6 +211,8 @@ static void emit_rewrite_diff(const char *name_a, @@ -211,6 +211,8 @@ static void emit_rewrite_diff(const char *name_a,
diff_populate_filespec(two, 0);
lc_a = count_lines(one->data, one->size);
lc_b = count_lines(two->data, two->size);
name_a += (*name_a == '/');
name_b += (*name_b == '/');
printf("--- a/%s\n+++ b/%s\n@@ -", name_a, name_b);
print_line_count(lc_a);
printf(" +");
@ -1020,8 +1022,8 @@ static void builtin_diff(const char *name_a, @@ -1020,8 +1022,8 @@ static void builtin_diff(const char *name_a,
const char *set = diff_get_color(o->color_diff, DIFF_METAINFO);
const char *reset = diff_get_color(o->color_diff, DIFF_RESET);

a_one = quote_two("a/", name_a);
b_two = quote_two("b/", name_b);
a_one = quote_two("a/", name_a + (*name_a == '/'));
b_two = quote_two("b/", name_b + (*name_b == '/'));
lbl[0] = DIFF_FILE_VALID(one) ? a_one : "/dev/null";
lbl[1] = DIFF_FILE_VALID(two) ? b_two : "/dev/null";
printf("%sdiff --git %s %s%s\n", set, a_one, b_two, reset);

Loading…
Cancel
Save