Diff3 - Diff3
Разработчики) | AT&T Bell Laboratories |
---|---|
изначальный выпуск | Январь 1979 г. |
Операционная система | Unix и Unix-подобный |
Тип | Команда |
diff3 это Unix утилита для сравнения трех файлов и отображения различий между ними. diff3 также может слияние файлы, реализующие трехстороннее слияние.
История и внедрения
Эта секция отсутствует информация об алгоритме и сходстве с diff.Июнь 2020 г.) ( |
diff3
первоначально появился в Версия 7 Unix 1979 г. Очень похожая версия была найдена в Распространение программного обеспечения Беркли (BSD) и был унаследован от OpenBSD и, вероятно, Солярис.[1][2]
В большинстве современных Unix-подобных систем, даже на основе BSD, таких как FreeBSD и NetBSD, предоставляемый diff3 является GNU версия в diffutils (ранее Инструменты GNU). В этой версии есть возможность объединять файлы самостоятельно, не полагаясь на ред
. Он внутренне вызывает разница
для сравнения, но также можно использовать любой другой совместимый инструмент.[3]
«Diff3» также стало общим названием для алгоритма трехстороннего слияния, в частности алгоритма, основанного на согласовании двух различных различий, происходящих из первого источника.
Слияние от общего предка
Когда два человека внесли изменения в копии одного и того же файла, diff3 может создать объединенный вывод, содержащий оба набора изменений вместе с предупреждениями о конфликтах. diff3 может объединять три или более набора изменений в файл, объединяя два набора изменений за раз.
diff3 может включать изменения двух модифицированных версий в общую предыдущую версию. Это позволяет пользователям объединять наборы изменений, представленные двумя более новыми файлами. Это можно включить с помощью такой команды: diff3 мой старше твоего
.
Это похоже на вычитание файла старшая
из файла твой
и добавляем результат в файл мой
, или как слияние с мой
изменения, которые повернутся старшая
в твой
. Это слияние четко определено, пока мой
и старшая
совпадение в окрестности каждого такого изменения. Это неверно, если все три входных файла различаются или только старшая
отличается; это конфликт. Когда все три входных файла различаются, конфликт является наложением.
В diff3 есть несколько методов для обработки совпадений и конфликтов. Он может опускать перекрытия или конфликты, выбирать только перекрытия или отмечать конфликты специальными <<<<<<<
и >>>>>>>
линий.
diff3 может выводить слияние результаты как ред сценарий, который можно применить к первому файлу, чтобы получить объединенный результат. Однако прямое создание объединенного вывода позволяет обойти некоторые проблемы с ed.
Рекомендации
- ^ OpenBSD Общие команды Руководство –
- ^ "diff3 - страница руководства раздел 1: Пользовательские команды". Документация по Solaris 11.3.
- ^ Linux Общие команды Руководство –
Смотрите также
внешняя ссылка
- Формальное расследование Diff3
- Руководство по GNU diffutils, «Сравнение трех файлов» и «Слияние от общего предка»