Чем сравнить файлы после перестановки строк?

Во время рефакторинга отсортировали реализации методов по их именам. Содержимое строк не поменялось, лишь их последовательность (большими блоками).
У меня есть ветка, основнная на коммите до рефакторинга. P4merge, kdiff3 и meld не справились с мержем, они не находят перемещений. Может есть difftool, которая справится с этим, или где можно связать блоки вручную?

base:
int b() {
    return 1;
}
int c() {
    return 2;
}
int a() {
    return 0;
}

local:
int a() {
    return 0;
}
int b() {
    return 1;
}
int c() {
    return 2;
}
  • Вопрос задан
  • 211 просмотров
Решения вопроса 1
nazarpc
@nazarpc
Open Source enthusiast
Нет в дифах перемещений пересекающихся - только строки что удалились, изменились и добавились, git хранит две копии файла - до и после, нет там ни перемещений ни какой-либо ещё подобной информации.
Такие изменения мерждить нужно вручную в интерактивном режиме. Не получится автоматически.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@dude2012
Выгрузите файлы и сравните их Winmerge winmerge.org/?lang=ru - она бесплатная. Ею удобно файлы сравнивать. Дешево и сердито
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы