我们将在这里介绍一些关于使用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 ``` >[warning] 警告:请勿将主插件文件放在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书