食品法典委员会

对函数、挂钩、类或方法感兴趣吗?查看新的WordPress代码参考

使用Subversion

这个页面只适用于开发人员,所以如果对你来说都是G(r)eek,不要担心!

WordPress项目使用颠覆用于代码版本控制。大多数WordPress用户永远不会想使用Subversion,因为他们只安装WordPres的发布版本。然而,插件和主题的开发人员可能希望根据WordPress的最新开发版本测试他们的软件为WordPress撰稿通过测试或修复bug,需要访问正在开发的代码。

此开发代码可通过Subversion获得。在本文中,我们将介绍连接到WordPress子版本存储库和运行大多数WordPress用户可用的命令的基本知识。

除了关于不使用Subversion的一节之外,本文假设您已经安装了Subversion(或至少安装了Sub版本客户端),并且它只涵盖最基本的命令。有关安装说明、备用客户端和更多详细信息,请参阅以下资源:

请注意,如果您选择使用TortoiseSVN、Subclipse或其他图形客户端,下面的命令将是菜单选择——但是,同样的原则也适用。查看客户机的帮助文件,了解如何连接到存储库并执行等效命令。

存储库、分支、中继和标记

Subversion的基本思想是将源代码和修订保存在储存库在服务器上。用户通过使用客户程序,它允许用户签出、查看、编辑、修补和提交对源代码文件的更改(取决于客户端的权限级别;在WordPress项目中,只有少数人有权将更改提交到存储库)。

WordPress存储库位于develop.svn.wordpress.org。在存储库中,有三个部分:

从WordPress 3.7开始,存储库不仅包括WordPres的源代码,还包括与项目构建过程、单元测试和各种其他工具相关的文件。因此,目录结构为:

自3.7版本以来,这些目录也可以在标记和分支目录中找到。

不使用Subversion

一些想测试WordPress的人可能对设置Subversion没有兴趣。对于这些人,有几个地方可以下载WordPress的开发版本:

检查代码

安装Subversion后,您需要做的第一步是结账代码,这基本上意味着您将从存储库中下载一个版本到您的计算机。为此,为代码副本创建一个空目录,切换到该目录,然后执行checkout命令在您感兴趣的主干、分支或标记上。例如,要查看大旅行箱(最新开发版本):

svn公司https://develop.svn.wordpress.org/trunk/

如果您只对源代码感兴趣(而不是单元测试和构建工具),可以查看型钢混凝土子目录:

svn公司https://develop.svn.wordpress.org/trunk/src/

经过短暂的等待(取决于您的Internet连接速度),结果是目录中充满了所有WordPress文件,还有一些隐藏的文件.svn文件包含Subversion信息的子目录。

更新代码副本

如果自签出代码以来已经过了一段时间,并且希望更新到现在可用的最新版本,请使用update命令,首先切换到最初签出代码的目录后:

svn更新

导出代码

如果您不打算在WordPress代码中进行任何编辑、更新、黑客攻击或错误修复,而只想下载最新版本,以便可以将其安装到其他地方,那么可以使用出口命令(首先创建一个新目录以保存结果,然后更改为该目录):

svn导出https://develop.svn.wordpress.org/trunk/

这将为您提供与使用相同的WordPress代码svn公司,但没有隐藏.svn文件目录。导出后,其他Subversion命令都不起作用——如果您想使用其他Subversions命令,则需要进行签出。

浏览代码

要列出存储库中的所有文件,而不进行更新、签出等操作,可以使用列表命令:

svn列表https://develop.svn.wordpress.org/trunk/

要列出子目录中的文件,例如wp,请包括:

svn列表https://develop.svn.wordpress.org/trunk/src/wp-includes网站/

还有一个在线浏览器用于WordPress Subversion存储库。

开发人员的命令

如果您正在修复WordPress中的错误,请编辑签出代码的目录中的文件。当您准备提交修复程序以包含在即将到来的WordPress版本中时,请阅读报告Bug了解如何在上创建错误票据Trac公司(WordPress错误跟踪系统),然后使用以下命令。

您可能需要更改为子目录(例如大旅行箱)执行这些命令。

检查工作副本中的差异

这些命令有助于您了解工作副本的哪些部分与存储库中提交的版本不同。

  • 要获取已更改文件的列表,请使用状态命令以下为:
svn状态
  • 以逐行显示所做的更改补丁格式(也将用于导出修补程序),使用diff命令。这将输出标准差异在对整个源代码树所做的所有更改中:
svn差异
  • 要仅显示一个文件的差异(可以提供多个文件路径来显示一组页面的差异),请执行以下操作:
svn差异路径/to/file

保存修补程序/diff文件

要与他人共享您所做的更改,您必须将其导出为.diff或.patch文件(它们是具有相同格式的纯文本文件,任何扩展名都可以)。将更改导出为diff文件后,可以将其作为补丁附加到Trac公司报告。

对于WordPress的开发,所有补丁都应该从WordPress的根目录生成,而不是像wp-admin这样的目录。

  • 使用带有>的diff命令指示目标文件。这将保存当前工作副本中更改的任何文件的差异输出。
svn diff>my-patch-file.diff
  • 与常规diff命令类似,您可以指定希望diff显示其差异的特定文件(如果您的工作副本中有其他不希望包含在修补程序中的更改,则很有用)
svn diff src/wp-admin/comment.php src/wp-includes/comment-php>comments-patch-r3234.diff

应用.patch或.diff文件

  • 要将.diff或.patch文件实现为工作副本,请使用“patch”命令:
补丁-p0</path/to/patch.diff


将更改还原到工作副本

  • 要将工作副本重置为您签出的代码(丢弃您所做的任何更改),请执行以下操作:
svn还原-R(右)
  • 你也可以做一个恢复对于单个文件:
svn还原路径/到/文件

将工作副本切换到其他分支

  • 如果您已经有主干的工作副本,但希望切换回某个已发布版本,则可以使用“svn交换机命令将工作副本中的所有文件恢复为已发布版本的状态。例如,要切换回版本3.7.1:
svn交换机https://develop.svn.wordpress.org/tags/3.7.1

资源

这篇文章是标记因为需要编辑。你可以帮助Codex公司编辑它