Skip to content

Commit

Permalink
Merge branch 'jc/diff-apply-patch'
Browse files Browse the repository at this point in the history
* jc/diff-apply-patch:
  git-diff/git-apply: make diff output a bit friendlier to GNU patch (part 2)
  • Loading branch information
Junio C Hamano committed Feb 14, 2007
2 parents 4a164d4 + 1a9eb3b commit 3eee9c6
Showing 1 changed file with 17 additions and 3 deletions.
20 changes: 17 additions & 3 deletions diff.c
Original file line number Diff line number Diff line change
Expand Up @@ -207,11 +207,18 @@ static void emit_rewrite_diff(const char *name_a,
struct diff_filespec *two)
{
int lc_a, lc_b;
const char *name_a_tab, *name_b_tab;

name_a_tab = strchr(name_a, ' ') ? "\t" : "";
name_b_tab = strchr(name_b, ' ') ? "\t" : "";

diff_populate_filespec(one, 0);
diff_populate_filespec(two, 0);
lc_a = count_lines(one->data, one->size);
lc_b = count_lines(two->data, two->size);
printf("--- a/%s\n+++ b/%s\n@@ -", name_a, name_b);
printf("--- a/%s%s\n+++ b/%s%s\n@@ -",
name_a, name_a_tab,
name_b, name_b_tab);
print_line_count(lc_a);
printf(" +");
print_line_count(lc_b);
Expand Down Expand Up @@ -477,8 +484,15 @@ static void fn_out_consume(void *priv, char *line, unsigned long len)
const char *reset = diff_get_color(ecbdata->color_diff, DIFF_RESET);

if (ecbdata->label_path[0]) {
printf("%s--- %s%s\n", set, ecbdata->label_path[0], reset);
printf("%s+++ %s%s\n", set, ecbdata->label_path[1], reset);
const char *name_a_tab, *name_b_tab;

name_a_tab = strchr(ecbdata->label_path[0], ' ') ? "\t" : "";
name_b_tab = strchr(ecbdata->label_path[1], ' ') ? "\t" : "";

printf("%s--- %s%s%s\n",
set, ecbdata->label_path[0], reset, name_a_tab);
printf("%s+++ %s%s%s\n",
set, ecbdata->label_path[1], reset, name_b_tab);
ecbdata->label_path[0] = ecbdata->label_path[1] = NULL;
}

Expand Down

0 comments on commit 3eee9c6

Please sign in to comment.