创建向WordPress核心提交补丁的最简单方法?


13

我已经在Trac为WordPress核心提交了一些补丁(其中一个已经使用过),但是每次考虑这样做时,我都会畏缩,因为这样做的设置非常繁琐。

有人可以详细说明提交核心补丁的步骤,然后是简化流程的最佳方法,这样就不会那么乏味吗?我目前在Mac OS X和PhpStorm上工作,但是我认为shell脚本可能最简单?还是所有死记硬背的PHP脚本?

问题之一是我不完全了解我需要从什么开始。我从行李箱开始吗?每次我想创建补丁时,是否都需要下载新副本并使用代码添加/编辑该副本?

再说一次,尽管我已经完成了使用SVN的工作,但补丁确实超出了我当前的技能范围,我想对此进行更改。希望您的WordPress修补专家可以帮助我。提前致谢。

更新:

在@hakre回答之后,我想我应该在这个问题上添加更多内容:

  • 我可以从旧版本创建补丁,还是必须使用中继?
  • 如果我正在使用发布的版本(3.0.1)进行项目开发,是否可以对其进行修改并为核心创建补丁,还是必须下载并设置原始的主干和新副本并在那里进行新的修改?
  • 我可以使用shell脚本来将登录信息编码到脚本中,然后只运行脚本来重新创建所需的一切和​​/或创建补丁吗?
  • 陷阱是什么?

所有这些问题似乎都是由知道WordPress的SVN的工作原理的人承担的,因此在任何讨论中都掩盖了这些问题。

Answers:


8

创建补丁的最简单方法如下:

http://wordpress.org/download/svn/

我可以从旧版本创建补丁,还是必须使用中继?

您应该针对要应用的相同版本创建补丁。

换句话说,不要期望针对WP 3.0.1创建的补丁可以完全应用于WP 3.1-alpha。

如果我正在使用发布的版本(3.0.1)进行项目开发,是否可以对其进行修改并为核心创建补丁,还是必须下载并设置原始的主干副本和新副本并在那里进行新修改?

您不必为每个新补丁设置新安装。您可以只使用svn revert返回到原始副本。

同样,不必每次都清理数据库。实际上,最好进行一些修改以模拟实际环境。


1
哎呀,有了我们的工作副本后,创建补丁程序很容易血腥:svn diff > my-patch.patchgusta!
brasofilo

5

Eclipse PDT + Subclipse + X

我正在使用具有SVN集成的Eclipse。我认为PHP Strom也是如此。我进入了一个主干项目,该项目基本上是从WordPress svn存储库中签出的。

然后编辑需要编辑的文件。Eclipse显示了已修改的内容,我右键单击目录,选择Team->Create Patch,然后提供所有我可以为差异选择的更改文件。然后,我可以选择复制到剪贴板还是保存到磁盘。我将用工单号创建的所有补丁保存到硬盘上的目录中。

然后,进入浏览器并上传补丁。

我也可以通过MyLyn Trac集成来做到这一点,这更加舒适,但是您需要在Trac中使用XML-RPC,因此需要Trac管理员进行联系。它工作得很好,但是我没有在每个项目中都配置它,而主要是在进行工单减少时使用它。

所以说真的,如果您愿意,可以查看Eclipse。它既庞大又缓慢,因此您需要一台大型计算机。在小型平台上,我在Fedora Linux上有很好的经验。Eclipse在其上运行良好。我知道您是PHP Storm的粉丝,但是,我真的很喜欢Eclipse,并且它附带许多扩展。即使对于PHP :)。但是PHP Storm基本上也应该执行checkout / patch的工作。

WordPress Eclipse 1x1

嗯,我的操作系统中有一个工具可以保存我使用过的所有目录。因此,我可以保存补丁并快速上传文件,因为它们始终来自与我最近列出的目录相同的目录。

集成示例:PHP代码嗅探器,Eclipse和WordPress


谢谢回答。我尝试了Eclipse并讨厌它。太迟钝了,我只是不喜欢这个界面。因此,对于其他可以使用Eclipse但您的答案不能满足我的需求的人来说,这是一个很好的答案。我会给它一个投票,但是我更喜欢一个与IDE无关的解决方案,它也可以更好地解释该过程。
MikeSchinkel 2010年

我也想说PhpStorm具有完整的SVN(和Git)集成,但是它的集成确实需要用户完全了解每个菜单的作用,因为它几乎没有提供如何使用它们的指导(有很多指导)。在帮助文件中,但由于它们不是上下文敏感的,并且由于SVN + Git是PhpStorm的巨大添加,因此很容易完全迷失其中。)这就是为什么我想从根本上理解它,而不必切换到IDE我不喜欢这样做。
MikeSchinkel 2010年

@MikeSchinkel-如果SVN对您来说太复杂了(无论SVN +编辑器的版本如何),那么您将无法为wordpress项目创建补丁。基本上,如果您不喜欢SVN的UI界面,请学习命令行。但是无论如何你都需要学习。您可以将SVN与任何喜欢的编辑器一起使用。我有一个SVN干线复制程序正在Web服务器上运行和配置,以便创建补丁并对其进行测试。制作完一个补丁后,我从本地副本中删除了本地更改(还原),然后可以继续使用其他补丁。一直都在工作。还有什么要说的?
hakre 2010年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.