Pathfiles - отличный способ записывать и распространять ваши локальные изменения.Создать файл патча относительно просто, а применение патча еще проще.
Прежде чем начать, как вы получили исходный файл Magento?
Если вы извлекаете исходный код с помощью SVNГенерация патча довольно проста.
shell $> cd path/to/your/working/copy
shell $> svn diff > ~/Desktop/magento.path
Однако, если вы загрузили Magento из архива (tar, zip), вам потребуется копия оригинальных файлов перед сравнением ваших ревизий.Я хотел бы сделать резервную копию оригинального файла, cp source.php source.php.org
, прежде чем что-либо изменить.Иногда я забываю, и мне нужно извлечь исходный код в новый каталог для сравнения.Чтобы сгенерировать файл патча, сравнив два источника, используйте команду diff
shell $> diff -Naur path/to/original/copy path/to/your/working/copy > ~/Desktop/magento.patch
. Чтобы применить только что созданный патч, используйте команду patch
.
shell $> cd path/to/new/magento
shell $> patch -p0 < ~/Desktop/magento.patch
Частьторт.
Теперь ваш вопрос подразумевает, что вы можете захотеть, чтобы PHP применял патчи.Если вам нравится компилировать расширения PHP, взгляните на функцию xdiff xdiff_file_patch .Иначе, просто запустите предыдущие команды через методы PHP system или shell_exec .