【发布时间】:2011-09-09 06:27:39
【问题描述】:
我编辑了一些magento的核心代码。在此之后,我想将我所有编辑的文件修补到 Magento 目录。
我的问题是:如何使用 magento 实现 php 补丁?或者如何使用 PHP 创建补丁文件。
请帮助我。
【问题讨论】:
我编辑了一些magento的核心代码。在此之后,我想将我所有编辑的文件修补到 Magento 目录。
我的问题是:如何使用 magento 实现 php 补丁?或者如何使用 PHP 创建补丁文件。
请帮助我。
【问题讨论】:
路径文件是记录和分发本地修改的好方法。创建补丁文件相对容易,应用补丁更容易。
在开始之前,您是如何检索 Magento 的源文件的?
如果您使用 SVN 签出源代码,则生成补丁非常简单。
shell $> cd path/to/your/working/copy
shell $> svn diff > ~/Desktop/magento.path
但是,如果您从存档文件(tar、zip)下载 Magento,则在比较您的修订版之前,您需要拥有原始文件的副本。我喜欢在更改任何内容之前进行原始文件备份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 方法运行前面的命令即可。
【讨论】: