If one side's block (of changed lines) ends later than the other side's block, the former should be tested against the next block of the other side, not vice versa. Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> --- xdiff/xmerge.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/xdiff/xmerge.c b/xdiff/xmerge.c index 9fe2059..6d4f9b6 100644 --- a/xdiff/xmerge.c +++ b/xdiff/xmerge.c @@ -318,13 +318,13 @@ static int xdl_do_merge(xdfenv_t *xe1, x xscr1->i1 = i2; xscr1->i2 += xscr1->chg2; xscr1->chg2 = 0; - xscr1 = xscr1->next; + xscr2 = xscr2->next; } else if (i2 > i1) { xscr2->chg1 -= i2 - i1; xscr2->i1 = i1; xscr2->i2 += xscr2->chg2; xscr2->chg2 = 0; - xscr2 = xscr2->next; + xscr1 = xscr1->next; } else { xscr1 = xscr1->next; xscr2 = xscr2->next; -- 1.4.4.g5aac-dirty - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html