combine-diff: fix placement of deletion.
The code misplaced a raw hunk that consists of solely deleted lines by one line. This showed e.g. Len's 12-way octopus (9fdb62af in the linux-2.6), kernel/power/disk.c, hunk starting at line 95, incorrectly. Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
fd4b1d2193
commit
823bcd6edc
@ -235,7 +235,10 @@ static void combine_diff(const unsigned char *parent, const char *ourtmp,
|
|||||||
*/
|
*/
|
||||||
nb = 1;
|
nb = 1;
|
||||||
}
|
}
|
||||||
lost_bucket = &sline[nb-1]; /* sline is 0 based */
|
if (nn == 0)
|
||||||
|
lost_bucket = &sline[nb];
|
||||||
|
else
|
||||||
|
lost_bucket = &sline[nb-1];
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (!lost_bucket)
|
if (!lost_bucket)
|
||||||
@ -627,6 +630,15 @@ int show_combined_diff(struct combine_diff_path *elem, int num_parent,
|
|||||||
else
|
else
|
||||||
printf("%s", elem->path);
|
printf("%s", elem->path);
|
||||||
putchar('\n');
|
putchar('\n');
|
||||||
|
printf("index ");
|
||||||
|
for (i = 0; i < num_parent; i++) {
|
||||||
|
printf("%s%s",
|
||||||
|
i ? ".." : "",
|
||||||
|
find_unique_abbrev(elem->parent_sha1[i],
|
||||||
|
DEFAULT_ABBREV));
|
||||||
|
}
|
||||||
|
printf("->%s\n",
|
||||||
|
find_unique_abbrev(elem->sha1, DEFAULT_ABBREV));
|
||||||
dump_sline(sline, cnt, num_parent);
|
dump_sline(sline, cnt, num_parent);
|
||||||
}
|
}
|
||||||
if (ourtmp == ourtmp_buf)
|
if (ourtmp == ourtmp_buf)
|
||||||
|
Loading…
Reference in New Issue
Block a user