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