Объединение двух файлов исправлений, которые исправляют несколько файлов в каталоге + разрешение конфликтов

У меня есть каталог с тысячами файлов и 2 файлами патчей, которые применяются к одному и тому же каталогу. Каждый файл патча исправляет 20-30 файлов в каталоге dir или в его subdirs.

Если я применю какой-либо патч к каталогу общего предка, он будет успешным.

Но если я применяю один файл исправления, а затем другой, то происходит сбой, поскольку нумерация строк изменилась после применения одного файла исправления. (Оба файла патчей хранят различия от общего предка). Также в некоторых местах возникают конфликты, которые я хотел бы выполнить с помощью трехстороннего слияния с использованием некоторого графического инструмента, такого как meld.

Моя цель состоит в том, чтобы выполнить трехстороннее объединение файлов исправлений, а затем рекурсивно сопоставить этот последний каталог с общим предком, чтобы создать один файл исправлений.

Один из способов сделать это - создать 2 копии общего предка, применить различные патчи к 2 копиям, а затем выполнить слияние с помощью комбинации. meld потратил бы много времени на сравнение файлов, которые не изменились (у dir тысячи файлов). Есть ли лучший способ сделать это?

Буду признателен, если вы введете точные команды, так как я новичок в Linux.

1 ответ

Последнее кажется хорошим выбором: объединение 2-х пропатченных файловых деревьев. За исключением того, что вы можете оптимизировать процесс, удаляя неизмененные файлы перед объединением, оставляя объединение наборов файлов в каждом исправленном дереве файлов. Однако это имеет смысл, только если это необходимо делать довольно часто.

Другие вопросы по тегам