Как удалить текстовый / XML-файл, объединенный с трехсторонним объединением?
Ситуация: у меня есть три XML-файла:
Базовый файл A, файл B на основе A с изменениями в нем и целевой файл C на основе A с множеством изменений, включая файл B.
Например:
A (база):
aaa
bbb
ccc
B (изменения):
aaa
bbb
XXX
ccc
C (цель):
aaa
YYY
bbb
ZZZ
XXX
ccc
Теперь я хочу "удалить" файл изменений B, введенный в файл C, поэтому в этом примере строка XXX удалена.
У меня нет полного контроля над изменениями в C, поэтому я не смогу отслеживать каждое изменение с помощью git-репозитория или чего-то подобного.
Один из способов, который я могу придумать, - сравнить файлы A и B, записать каждую строку, измененную в B, и удалить их из C - но это не сработало бы, если B удалило строки из A, и я также не знаю, Есть другие сложности с этим подходом.
Вопрос: Каким будет правильный процесс (инструмент, библиотека или алгоритм) для достижения этой цели?