问题描述

我很尴尬地说,尽管我的插件已经在存储库已经存在多年了,已经有超过 30 万的下载量,但我对使用 tortoise svn 更新插件的程序有点无知。

在这里有很多关于 svn 的问题,但他们只是进一步困惑我:-z

不知何故,我已经管理到目前为止,但我需要知道正确的程序更新我的插件到新版本,提交中继线和制作一个标签目录。

这是我一直在做的。

  1. 在我的本地代码插件更新,直到我很高兴

  2. 将本地插件文件夹中的所有文件复制到/trunk /(插件和自述文件已更新版本号)

  3. 提交 trunk 目录

  4. 右键单击 trunk 目录并选择 create branch /tag 并将其设置为复制到/tags /中的文件夹,其名称为版本号

这是正确的和正确的顺序吗?如果没有,什么是正确的方法?

还有关于版本号…

由于某些原因,我在上次更新时从 2.8.1 版本升级到了 2.81.2,这是否意味着如果我将下一个版本号更改为 2.81.2,那么它将不会显示在具有版本 2.81.2 的人员的仪表板中的更新 2.9?

wordpress 如何确定哪个是最新版本,如果用户应该更新其版本?它是做一个 version_compare 吗?那只适用于正确的 php 版本格式吗?例如。 2.9.2 被认为是低于 2.81.2 的版本? (因为,据了解,version_compare 从左边开始,每个数字比较高/低,所以 9 被认为小于 81)

另一个问题,

如果我在代码中发现一个愚蠢的错误,不会真正影响插件的工作,也可能是打字错误或附加图像。什么编辑和承诺使任何新的下载的插件包含更改?

我必须编辑树干和标签文件夹并提交两个?

最佳解决方案

I’m embarrassed to say that I am a bit clueless on the procedure used to update a plugin via tortoise svn even though my plugin has been on the repository for years and had over 300,000 downloads!

不要 SVN 对于很多人来说可能很棘手,所以让我们来看看 step-by-step …

This is what I’ve been doing so far.

  1. code the plugin updates on my local until I’m happy with it
  2. copy over all the files inside my local plugin folder to the /trunk/ (the plugin and readme file have updated version numbers)
  3. commit the trunk directory
  4. right click the trunk directory and choose create branch/tag and set it to copy to a folder in /tags/ with the name being the version number

Is that correct and in the right order? if not, what is the correct way?

几乎…

你应该遵循的步骤:

  1. 在本地编写插件更新,直到您满意为止

  2. readme.txt 文件中增加”stable” 标签以匹配新版本号

  3. 将本地更新复制到本地插件文件夹的/trunk 目录中

  4. 提交整个插件,以将更改保存到存储库中/trunk

  5. 右键单击/trunk 并创建一个新标签,复制到/tags/X.X.X,其中 x.x.x 是 readme.txt 的”stable” 标签中的相同版本 (步骤 2)

  6. 提交整个插件来保存标签

for some reason, I went from version 2.8.1 to 2.81.2 on my last update, does this mean that it wont show as an update available in the dashboards of people that have version 2.81.2 if I change the next version number to 2.9 ?

答对了。如果您提交 2.81.2 版本作为更新,并且人们实际下载了该更新,那么当您释放它时,它们将不会看到 2.9 。

how does wordpress determine which is the latest version and if the user should update their version? does it do a version_compare ? that only works with proper php version format doesn’t it? eg. 2.9.2 is considered a lower version than 2.81.2 ? (because, as I understand it, version_compare starts at the left and compares higher/lower for each digit so 9 would be considered less than 81)

究竟。一个标准的 PHP 版本比较将会看到 2.81.2 版本比 2.9 版本更新,因为 81> 9 。

我建议你下一个版本 3.0,然后在未来版本控制时要非常小心,以防止这种打字错误。

if I spot a silly mistake in the code that doesn’t really affect the working of the plugin, maybe a typo or an additional image. What do I edit and commit to make any new downloads of the plugin contain the change?

do I have to edit the trunk AND the tag folder and commit both?

如果您需要进行小的更改,请将其视为维护版本。我通常遵循这种版本化架构:

2      .      1       .       3       .       5
major         minor           maint           build

构建数字我只在内部使用或测试版本… 你几乎从来没有看到一个构建号码,除非我手动发送电子邮件给一个文件 (这是我如何分发不会破坏 WordPress 更新的 pre-release 版本) 。

如果我注意到一个实时版本的错误,我将快速修补并发布一个维护版本。假设我已经发布了 2.2 版本的插件,有人注意到我忘记了在 noConflict() 模式下调用 jQuery 。我会做一个快速补丁,并立即释放 2.2.1 。

版本中的增量将强制 WordPress 识别更新,并向已安装版本 2.2 的任何人提供修复。

要释放维护版本,您需要遵循完全相同的步骤,就像您正在发布系统的完整版本一样。所以进行更改,增加 readme.txt 中的版本,提交/trunk,标签等。

但是,一旦你标记了一些东西,你永远不会再改变它。想想你的/tags 文件夹是及时冻结的。该文件夹中的每个版本都是您的插件在特定时间点的快照。您不应该直接更改/tags 文件夹中的任何文件。

如果你发现自己觉得这可能是个好主意,那么你可以在头后面打个盹,然后发布一个维护版本:-)

正如彼得所说,我写了 a good set of step-by-step instructions earlier … 但网站似乎已经失去了我的截图。这是另一个版本的相同的 step-by-step 指南与截图从 Tortoise 托管在我自己的网站:http://eamann.com/tech/how-to-publish-a-wordpress-plugin-subversion/

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。