В рамках более крупного проекта я хочу иметь возможность взять два тела текста и передать их алгоритму слияния, который возвращает либо автоматически объединенный результат (в случаях, когда изменения не конфликтуют), либо выдает ошибку и (потенциально) создает один текстовый документ с выделенными конфликтующими изменениями.
По сути, я просто хочу программным способом сделать то, что делает каждая система управления источниками на планете, но мне трудно найти это. Существуют тонны визуальных графических интерфейсов для выполнения подобных задач, которые доминируют в моих результатах поиска, но ни один из них, по-видимому, не делает легкодоступным основной алгоритм объединения. Все полагаются на какой-то общий и хорошо понятный алгоритм / библиотека, и я просто не знаю названия, поэтому мне трудно его искать? Является ли это небольшим изменением в diff, и я должен искать библиотеки diff вместо библиотек слияния?
Библиотеки Python были бы наиболее полезны, но я могу смириться с накладными расходами по взаимодействию с какой-либо другой библиотекой (или решением командной строки), если потребуется; эта операция должна быть относительно редкой.