WordPress中文开发手册

WordPress插件开发 — 如何使用Subversion

我们将在这里介绍一些关于使用subversion的基础知识:启动,更改事物和标记版本。

本文档不是使用SVN的完整和强大的解释,而是更多的快速入门,以开始使用WordPress.org上的插件。 有关更全面的文档,请参阅SVN Book。

有关其他信息,请参阅以下文档:

  • readme.txt如何工作
  • 插件资源(标题图像和图标)的工作原理

术语

如果你刚刚颠覆,你需要知道几个字是什么意思,所以让我们来看一下颠覆行为来介绍一些术语。

您的所有文件将集中存储在我们服务器上的svn存储库中。从该存储库中,任何人都可以将您的插件文件的副本检出到本地机器上,但作为插件作者,只有您有权登记,这意味着您可以更改文件,添加新文件和删除本地机器上的文件,并将这些更改上传到中央服务器。这是检查存储库中的文件以及WordPress.org插件目录中显示的信息的过程。

Subversion会跟踪所有这些更改,以便您可以随时返回并查看旧版本或更新版本,如果您需要的话。除了记住每个修订版本之外,您还可以通过subversion来标记存储库的某些修订版本,以供参考。标签对于标记不同版本的插件非常棒。

SVN文件夹

SVN存储库有四个文件夹:

/assets/
/branches/
/tags/
/trunk/

accsets用于屏幕截图,插件标题和插件图标。
所有开发工作属于trunk。
发行进入tags。
代码分支变化branchhs。
即使您在其他地方进行开发工作(如git仓库),我们建议您使用代码保持trunk文件夹的最新版本,方便SVN比较。

如何 …

以下部分将介绍SVN的一些基础知识

开始你的全新插件

所有您需要做的是将您已经拥有的插件文件添加到新的SVN信息库。

为此,您需要首先在机器上创建一个本地目录以容纳SVN存储库的副本:

$ mkdir my-local-dir

接下来,查看预建的存储库

$ svn co https://plugins.svn.wordpress.org/your-plugin-name my-local-dir
> A  my-local-dir/trunk
> A  my-local-dir/branches
> A  my-local-dir/tags
> Checked out revision 11325.

正如你所看到的,subversion已经将所有从中央SVN存储库的目录添加到“add”(“A”)到本地副本。 现在,您可以使用复制/粘贴命令通过命令行或拖放将文件添加到本地存储库副本的目录中。 无论你喜欢什么

一旦您的文件位于trunk文件夹中,您必须让subversion知道您要将这些新文件添加到中央存储库中。

my-local-dir/$ svn add trunk/*
> A  trunk/my-plugin.php
> A  trunk/readme.txt

警告:请勿将主插件文件放在trunk的子文件夹中,如/trunk/my-plugin/my-plugin.php,因为这会破坏下载。 您可以使用子文件夹包含的文件。

添加所有文件后,您将检查更改回到中央存储库。

my-local-dir/$ svn ci -m 'Adding first version of my plugin'
> Adding trunk/my-plugin.php
> Adding trunk/readme.txt
> Transmitting file data .
> Committed revision 11326.

需要为所有签入包含提交消息。

如果由于“禁止访问”而导致提交失败,并且您知道您有提交访问权限,请将您的用户名和密码添加到check-in命令中。

my-local-dir/$ svn ci -m 'Adding first version of my plugin' --username your_username --password your_password

编辑已在存储库中的文件

我们假设你已经有你的插件库填满了所需的文件。 现在假设你需要编辑一个文件来改进插件。

首先进入您的本地存储库副本,并确保它是最新的

$ cd my-local-dir/
my-local-dir/$ svn up
> At revision 11326.

在上面的例子中,我们都是最新的。 如果中央存储库中有更改,则它们将被下载并合并到本地副本中。

现在,您可以使用任何您喜欢的编辑器编辑需要更改的文件。

如果您没有使用SVN GUI工具(例如SubVersion或Coda),则在进行更改后,您仍然可以检查本地副本和中央存储库之间的区别。 首先我们检查本地副本的状态:

my-local-dir/$ svn stat
> M  trunk/my-plugin.php

这告诉我们,我们的本地trunk / my-plugin.php与我们从中央存储库下载的副本不同(“修改”的“M”)。

我们来看看这个文件究竟有什么变化,所以我们可以检查一下,确保事情看起来正确。

my-local-dir/$ svn diff
> * What comes out is essentially the result of a
  * standard `diff -u` between your local copy and the
  * original copy you downloaded.

如果一切都看起来不错,那么现在是时候检查中央存储库的这些更改。

my-local-dir/$ svn ci -m "fancy new feature: now you can foo *and* bar at the same time"
> Sending    trunk/my-plugin.php
> Transmitting file data .
> Committed revision 11327.
All done!

如果由于“禁止访问”而导致提交失败,并且您知道您有提交访问权限,请将您的用户名和密码添加到check-in命令中。

my-local-dir/$ svn ci -m 'Adding first version of my plugin' --username your_username --password your_password
“Tag” a new version

每次你正式发布你的插件,你应该标记该版本的代码的副本。 这可以让您的用户轻松获取最新版本(或更旧版本),让您更轻松地跟踪更改,并让WordPress.org插件目录知道您的插件版本应该告诉人们下载。

为了做到这一点,你需要记住在trunk/readme.txt中更新Stable Tag字段!

首先将代码复制到tags/目录中的子目录中。 为了WordPress.org插件浏览器的目的,新的子目录应该总是看起来像一个版本号。 2.0.1.3好 酷热标签不好

我们想使用svn cp而不是常规cp,以利用SVN的功能。

my-local-dir/$ svn cp trunk tags/2.0
> A tags/2.0

现在,一如以往,请检查更改。

my-local-dir/$ svn ci -m "tagging version 2.0"
> Adding         tags/2.0
> Adding         tags/2.0/my-plugin.php
> Adding         tags/2.0/readme.txt
> Committed revision 11328.

或者,您可以使用http URL复制,并自己保存带宽:

my-local-dir/$ svn cp https://plugins.svn.wordpress.org/your-plugin-name/trunk https://plugins.svn.wordpress.org/your-plugin-name/tags/2.0

这样做将远程执行副本,而不是在本地复制一切并上传。 如果您的插件较大,这可能是有益的。

恭喜! 你已经更新了你的代码!

也可以看看

  • readme.txt如何工作
  • 插件资源(标题图像和图标)的工作原理
  • SVN书