Как создать патч?
3 ноября 2014 г. Просмотров: 987
Для распространения небольших изменений, внесенных в наборы различных файлов (например, исходный код программного обеспечения), в UNIX-подобных системах широко применяются патчи. Они содержат только сведения о правках, которые необходимо внести в исходный файл для его модификации до актуального состояния. Подготовьте исходный файл с информацией, для изменения которой будет создаваться патч. Данные в файле могут быть как текстовыми, так и бинарными. Создайте дубликат файла, подготовленного на первом шаге. Скопируйте его в другую директорию под тем же именем или в текущий каталог, но под другим именем. Измените файл-дубликат, созданный на предыдущем шаге. Отредактируйте надлежащим образом текст в подходящем редакторе или перезапишите данные в файле приложением, предназначенным для работы с ним. Ознакомьтесь с информацией по использованию утилиты diff. Запустите эмулятор терминала или переключитесь в консоль. Выполните команду:diff --helpдля вывода встроенной справки. Попробуйте выполнить команды:man diffилиinfo diffдля отображения соответствующих страниц документации, если она установлена. Особое внимание обратите на параметры -a, -c (-C), -e, --normal и -n (--rsc). Создайте патч. Выполните команду diff с нужными опциями, перенаправив ее вывод в файл. В качестве параметров, следующих после опций, укажите исходный и модифицированный файлы. Простейший пример использования diff для создания патча на основе данных файлов, расположенных в текущем каталоге, может выглядеть так:diff source.txt modified.txt > sample.patch Просмотрите сформированный патч. Используйте подходящий текстовый редактор или выведите его содержимое в консоль командой cat. Например:cat sample.patchилиcat sample.patch | more Проверьте корректность созданного файла изменений. Воспользуйтесь командой patch. С помощью опции -i передайте ей путь к патчу. Используйте опцию -o для назначения имени файла результата. Это предотвратит перезапись исходного файла, путь к которому должен быть указан последним параметром. Например:patch -i sample.patch -o test.txt source.txtСравните сгенерированный файл и тот, который был создан на третьем шаге. Они должны быть идентичными. Запустите команду patch с параметрами --dry-run и --verbose, передав ей предпоследним и последним аргументами имена исходного и патч-файла:patch --dry-run --verbose source.txt sample.patchИзменения в файлы вноситься не будут, но отобразится подробный отчет о действиях, которые были бы произведены при реальном исполнении команды. По нему также можно судить о корректности созданного патча.
Оцените статью!
Вам понадобится
- - установленная утилита diff.