merge-recursive: fix rename handling

To handle renames properly, we iterate through all file names of both
heads, the current one, and the one to be merged.

Only that there was a bug, where it was checked if the file name was present
in both heads, but the result of the check was never used. Instead, the
merge proceeded as if both heads contained that file.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Johannes Schindelin 2006-08-04 18:21:41 +02:00 коммит произвёл Junio C Hamano
Родитель c8b87ef8b0
Коммит 3d234d0afa
1 изменённых файлов: 4 добавлений и 2 удалений

Просмотреть файл

@ -810,8 +810,10 @@ static int process_renames(struct path_list *a_renames,
} else {
compare = strcmp(a_renames->items[i].path,
b_renames->items[j].path);
ren1 = a_renames->items[i++].util;
ren2 = b_renames->items[j++].util;
if (compare <= 0)
ren1 = a_renames->items[i++].util;
if (compare >= 0)
ren2 = b_renames->items[j++].util;
}
/* TODO: refactor, so that 1/2 are not needed */