Создание собственного патча
Теперь давайте научимся создавать свои собственные патчи. Мы внесем изменения в файл и сгенерируем файл с различиями (diff file), который можно будет использовать для применения этих изменений к другим копиям этого файла.
Сначала создадим новый текстовый файл:
cd ~/project
cat > new_file.txt << 'EOF'
This is line one.
This is line two.
This is line three.
EOF
Теперь создадим копию этого файла, которую мы будем модифицировать:
cp new_file.txt new_file_modified.txt
Отредактируем модифицированный файл, чтобы внести некоторые изменения:
nano new_file_modified.txt
Измените вторую строку на "This is the MODIFIED line two." и сохраните файл, нажав Ctrl+O, Enter, а затем Ctrl+X.
Теперь создадим файл патча, который представляет различия между этими двумя файлами:
diff -u new_file.txt new_file_modified.txt > patches/my_patch.diff
Давайте рассмотрим созданный нами патч:
cat patches/my_patch.diff
Вы должны увидеть вывод с различиями, показывающий изменения, которые вы внесли в файл.
Теперь вернем модифицированный файл в исходное состояние и применим наш патч для проверки:
cp new_file.txt new_file_modified.txt
patch new_file_modified.txt < patches/my_patch.diff
Проверьте, что патч был применен:
cat new_file_modified.txt
Вы должны увидеть, что вторая строка была изменена на "This is the MODIFIED line two."