Блог web-разработчика

Личные заметки из области web-разработки, программирования, администрирования, IT

Diff и Patch

| Нет комментариев

В своей практике мне часто требуется менять исходники. Например, есть задача: изменить что-то во внешнем виде этого сайта. Для этого необходимо подправить файлы темы (я использую тему стороннего автора). Но есть небольшая проблема: когда автор темы выпустит новый релиз, то при обновлении темы на сайте мои изменения потеряются. В таких случаях для сохранения моих правок я использую diff и patch :-)
Кратко о командах: diff — определяет различия между файлами, позволяет сохранить результаты в файл (патч), patch — изменяет файл в соответствии с результатами команды diff.

Создаем файл различий в стандартном («унифицированном») формате:

diff -u originalfile newfile > patchfile

, где originalfile — исходный файл,
newfile — измененная версия,
patchfile — файл, в который будут сохранены различия.

После обновления темы автором, мы потеряем свои изменения внесенные в исходный код. Но мы же создали файл патча, и, чтобы нам вернуть свои правки, нужно воспользоваться командой patch:

patch originalfile -i patchfile -o newfile

Эта команда применит все изменения (patchfile) которые мы делали с файлом originalfile и сохранит результат в newfile.
Если нужно сразу применить изменения к оригиналу:

patch originalfile -i patchfile

Добавить комментарий

Обязательные поля отмечены *.

*

* Copy this password:

* Type or paste password here:

7,381 Spam Comments Blocked so far by Spam Free Wordpress