Онлайн-рабочие станции OnWorks Linux и Windows

Логотип

Бесплатный хостинг в Интернете для рабочих станций

<Предыдущая | Содержание: | Следующая>

заплата

Ассоциация заплата Программа используется для внесения изменений в текстовые файлы. Он принимает вывод от Разница и обычно используется для преобразования старых версий файлов в более новые версии. Рассмотрим известный пример. Ядро Linux разработано большой, слабо организованной командой


участники, которые вносят постоянный поток небольших изменений в исходный код. Ядро Linux состоит из нескольких миллионов строк кода, в то время как изменения, вносимые одним участником за один раз, довольно незначительны. Соучастнику нет смысла отправлять каждому разработчику полное дерево исходных текстов ядра каждый раз, когда вносятся небольшие изменения. Вместо этого отправляется файл сравнения. Файл diff содержит изменения от предыдущей версии ядра к новой версии с изменениями участника. Затем приемник использует заплата программа, чтобы применить изменение к своему собственному дереву исходных текстов. С использованием Разница/заплата дает два важных преимущества:

1. Файл diff очень мал по сравнению с полным размером дерева исходных текстов.

2. В файле сравнения кратко показано вносимое изменение, что позволяет рецензентам патча быстро его оценить.

Конечно, Разница/заплата будет работать с любым текстовым файлом, а не только с исходным кодом. Это в равной степени применимо к файлам конфигурации или любому другому тексту.

Чтобы подготовить файл diff для использования с заплатав документации GNU (см. раздел «Дополнительная литература» ниже) предлагается использовать Разница следующим образом:

diff -Наур старый_файл новый_файл > diff_file

где старый_файл и новый файл являются либо отдельными файлами, либо каталогами, содержащими файлы. В r

опция поддерживает рекурсию дерева каталогов.

После создания файла сравнения мы можем применить его для исправления старого файла в новый:

пластырь diff_file

Продемонстрируем с помощью нашего тестового файла:



[я @ linuxbox ~] $ diff -Naur file1.txt file2.txt> patchfile.txt

[я @ linuxbox ~] $ патч <patchfile.txt

исправление файла file1.txt [me @ linuxbox ~] $ кот файл1.txt b

cde

[я @ linuxbox ~] $ diff -Naur file1.txt file2.txt> patchfile.txt

[я @ linuxbox ~] $ патч <patchfile.txt

исправление файла file1.txt [me @ linuxbox ~] $ кот файл1.txt b

cde


В этом примере мы создали файл сравнения с именем файл исправления.txt а затем использовал заплата программа для применения патча. Обратите внимание, что нам не нужно указывать целевой файл для заплата, поскольку файл сравнения (в едином формате) уже содержит имена файлов в заголовке. Как только патч будет применен, мы увидим, что file1.txt сейчас соответствует file2.txt.

patch имеет большое количество опций, а также есть дополнительные служебные программы, которые можно использовать для анализа и редактирования патчей.


Лучшие облачные вычисления для ОС в OnWorks: