diff-patch: Avoid emitting double-slashes in textual patch.
Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
b1440cc806
commit
5089277718
6
diff.c
6
diff.c
@ -211,6 +211,8 @@ static void emit_rewrite_diff(const char *name_a,
|
|||||||
diff_populate_filespec(two, 0);
|
diff_populate_filespec(two, 0);
|
||||||
lc_a = count_lines(one->data, one->size);
|
lc_a = count_lines(one->data, one->size);
|
||||||
lc_b = count_lines(two->data, two->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);
|
printf("--- a/%s\n+++ b/%s\n@@ -", name_a, name_b);
|
||||||
print_line_count(lc_a);
|
print_line_count(lc_a);
|
||||||
printf(" +");
|
printf(" +");
|
||||||
@ -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 *set = diff_get_color(o->color_diff, DIFF_METAINFO);
|
||||||
const char *reset = diff_get_color(o->color_diff, DIFF_RESET);
|
const char *reset = diff_get_color(o->color_diff, DIFF_RESET);
|
||||||
|
|
||||||
a_one = quote_two("a/", name_a);
|
a_one = quote_two("a/", name_a + (*name_a == '/'));
|
||||||
b_two = quote_two("b/", name_b);
|
b_two = quote_two("b/", name_b + (*name_b == '/'));
|
||||||
lbl[0] = DIFF_FILE_VALID(one) ? a_one : "/dev/null";
|
lbl[0] = DIFF_FILE_VALID(one) ? a_one : "/dev/null";
|
||||||
lbl[1] = DIFF_FILE_VALID(two) ? b_two : "/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);
|
printf("%sdiff --git %s %s%s\n", set, a_one, b_two, reset);
|
||||||
|
Loading…
Reference in New Issue
Block a user