it-swarm.cn

最简单的方法来创建一个提交到WordPress核心的补丁?

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

有人可以详细说明提交核心补丁所需的步骤,然后是简化流程的最佳方法,因此它不是那么乏味吗?我目前正在使用Mac OS X和PhpStorm,但我认为Shell脚本可能最简单?或者可能是PHP脚本完成所有死记硬背的工作?

其中一个问题是我不完全明白我需要从什么开始。我是从干线开始的吗?每次我想创建补丁时,是否必须下载新副本并使用我的代码添加/编辑该副本?

再一次,虽然我已经完成了与SVN的合作,并且修补实际上超出了我当前的技能组合,我想改变它。希望你WordPress修补专家可以来救我。提前致谢。

更新:

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

  • 我可以从旧版本创建补丁,还是必须使用trunk?
  • 如果我正在使用已发布的版本(3.0.1)开发一个项目,我可以修改它并为核心创建一个补丁,还是我必须下载并设置一个原始的和新的trunk副本并在那里重新进行修改?
  • 我可以使用Shell脚本,这样我就可以将登录编码到脚本中,然后运行脚本来重新创建我需要的所有内容和/或创建补丁吗?
  • 还有什么陷阱?

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

12
MikeSchinkel

这里描述了创建补丁的最简单方法:

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

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

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

换句话说,不要指望针对WP 3.0.1创建的补丁在WP 3.1-alpha上干净地应用。

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

您不必为每个新修补程序设置新安装。你可以使用svn revert来恢复原始副本。

此外,数据库不必每次都是干净的。实际上,如果你有一些修改,模拟一个实时环境会更好。

8
scribu

Eclipse PDT + Subclipse + X.

我正在使用 具有SVN集成的Eclipse 。我认为PHP St​​rom也是如此。我进入我的一个主干项目,基本上是从WordPress svn存储库结账。

然后我编辑我需要编辑的文件。 Eclipse显示哪些被修改,我右键单击一个目录,选择Team->Create Patch然后我获得了我可以为diff选择的所有已更改文件。然后我可以选择复制到剪贴板还是保存到磁盘。我将使用票号创建的所有补丁保存到我的硬盘上的目录中。

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

我也可以用 MyLyn Trac integration来做到这一点,这样更舒服,但你需要在trac中使用XML-RPC,所以你需要一个trac管理员来联系。它工作得很好但是我没有在每个项目中配置它并且主要在我制作故障单时使用它。

所以,如果你愿意,请结账Eclipse。这是巨大而缓慢的,所以你需要一台大电脑。在小型的我用Fedora Linux做了很好的经验。 Eclipse运行良好。我知道你是一个PHP风暴迷,但是,我真的很喜欢我的Eclipse,并且它附带了许多真正摇滚的扩展。即使是PHP :)。但是PHP St​​orm基本上应该做结帐/补丁的东西。

WordPress Eclipse 1x1

啊,我的操作系统中有一个工具可以保存我用过的所有目录。所以我可以保存补丁并快速上传文件,因为它们总是来自我最近列表中的同一目录。

集成示例: PHP Code Sniffer,Eclipse和WordPress

5
hakre

我自己用这些:

https://core.trac.wordpress.org/ticket/9724

虽然在应用补丁部门显然更多。 ;-)

2
Denis de Bernardy