diff3 - diff3

diff3
Разработчики) AT&T Bell Laboratories
Первый выпуск Январь 1979 г . ; 42 года назад ( 1979-01 )
Операционная система Unix и Unix-подобные
Тип Командование

diff3 - это утилита Unix для сравнения трех файлов и выявления различий между ними. diff3 также может объединять файлы, реализуя трехстороннее объединение .

История и внедрения

diff3первоначально появилась в версии 7 Unix 1979 года. Очень похожая версия была найдена в Berkeley Software Distribution (BSD) и унаследована от OpenBSD и, вероятно, Solaris .

В большинстве современных Unix-подобных систем, даже основанных на BSD, таких как FreeBSD и NetBSD, diff3 предоставляется как версия GNU в diffutils (ранее называвшаяся GNU Tools ). В этой версии есть возможность объединять файлы самостоятельно, не полагаясь на ed. Он внутренне вызывает diffсравнение, но также может использовать любой другой совместимый инструмент.

«Diff3» также стало общим названием для алгоритма трехстороннего слияния, в частности алгоритма, основанного на согласовании двух различных различий, происходящих из первого источника.

Слияние от общего предка

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

diff3 может включать изменения из двух модифицированных версий в общую предыдущую версию. Это позволяет пользователям объединять наборы изменений, представленные двумя более новыми файлами. Это может быть включено с помощью команды вроде этого: diff3 mine older yours.

Это похоже на вычитание файла olderиз файла yoursи добавление результата к файлу mineили слияние mineс изменениями, которые могут превратиться olderв yours. Это слияние хорошо определенно до тех пор , как mineи olderматч в окрестностях каждого такого изменения. Это неверно, если все три входных файла различаются или различаются только older; это конфликт. Когда все три входных файла различаются, конфликт является наложением.

В diff3 есть несколько методов для обработки совпадений и конфликтов. Он может опустить дублирование или конфликты, или выбрать только перекрывается, или отмечать конфликты с особым <<<<<<<и >>>>>>>линиями.

diff3 может выводить результаты слияния в виде сценария ed, который может быть применен к первому файлу для получения объединенного вывода. Однако прямое создание объединенного вывода позволяет обойти некоторые проблемы с ed.

Смотрите также

Рекомендации

Внешние ссылки