通过乌龟SVN将插件更新到存储库的正确方式是什么?

时间:2011-06-12 作者:CommentLuv

我很尴尬地说,我对通过乌龟svn更新插件的过程有点不知所措,尽管我的插件在存储库中已经存在多年,下载量超过300000!

这里有很多关于svn的问题,但它们只会让我更加困惑:-z

到目前为止,我已经设法做到了,但我需要知道将插件更新到新版本的正确步骤,包括提交主干和创建标记目录。

这就是我到目前为止一直在做的事情。

在我的本地上对插件更新进行编码,直到我满意为止

  • 将本地插件文件夹中的所有文件复制到/trunk/(插件和自述文件已更新版本号)
  • 提交trunk目录
  • 右键单击trunk目录,选择“创建分支/标记”,并将其设置为复制到/tags/中的文件夹,名称为版本号正确吗?顺序正确吗?如果没有,正确的方法是什么?

    此外,关于版本号。。。

    出于某种原因,我在上一次更新时从版本2.8.1升级到了版本2.81.2,这是否意味着如果我将下一个版本号更改为2.9,它将不会在拥有版本2.81.2的用户的仪表板中显示为可用的更新?

    wordpress如何确定哪个是最新版本,以及用户是否应该更新其版本?是否进行版本比较?这只适用于正确的php版本格式,不是吗?例如,2.9.2被认为是低于2.81.2的版本?(因为据我所知,version\\u compare从左边开始,比较每个数字的高/低,所以9被认为小于81)

    另一个问题,

    如果我在代码中发现了一个愚蠢的错误,而这个错误并没有真正影响插件的工作,可能是一个输入错误或一个额外的图像。我应该编辑和提交什么,以使插件的任何新下载都包含更改?

    我是否必须编辑trunk和tag文件夹并提交它们?

  • 1 个回复
    最合适的回答,由SO网友:EAMann 整理而成

    我很尴尬地说,我对通过乌龟svn更新插件的过程有点不知所措,尽管我的插件在存储库中已经存在多年,下载量超过300000!

    不要这样。SVN对很多人来说都很棘手。。。所以让我们一步一步地来看看。。。

    这就是我到目前为止一直在做的事情。

    在我的本地上对插件更新进行编码,直到我满意为止。将本地插件文件夹中的所有文件复制到/trunk/(插件和自述文件已更新版本号)

  • 提交trunk目录,右键单击trunk目录,选择创建分支/标记,并将其设置为复制到/tags/中的文件夹,名称为版本数字是否正确,顺序是否正确?如果没有,正确的方法是什么?

    几乎

    您应该遵循以下步骤:

    对插件进行本地代码更新,直到您满意为止Increment the "stable" tag in your readme.txt file to match the new version number/trunk 本地插件文件夹的目录提交the entire plugin 将更改保存到/trunk 到存储库,右键单击/trunk 并创建一个新标记,复制到/tags/X.X.X 其中,x.x.x与;“稳定”;的标签readme.txt (步骤2)提交the entire plugin 出于某种原因,为了保存标签,我在上次更新时从版本2.8.1升级到了版本2.81.2,这是否意味着如果我将下一个版本号更改为2.9,它将不会显示为版本2.81.2的用户仪表板中可用的更新?

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

    wordpress如何确定哪个是最新版本,以及用户是否应该更新其版本?是否进行版本比较?这只适用于正确的php版本格式,不是吗?例如,2.9.2被认为是低于2.81.2的版本?(因为据我所知,version\\u compare从左边开始,比较每个数字的高/低,所以9被认为小于81)

    确切地标准PHP版本比较会发现版本2.81.2比2.9更新,因为81>;9

    我建议您下一步发布3.0版,然后在将来进行版本控制时要非常小心,以防止这种键入错误。

    如果我在代码中发现了一个愚蠢的错误,而这个错误并没有真正影响插件的工作,可能是一个输入错误或一个额外的图像。我应该编辑和提交什么,以使插件的任何新下载都包含更改?

    我是否必须编辑trunk和tag文件夹并提交它们?

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

    2      .      1       .       3       .       5
    major         minor           maint           build
    
    我只在内部或beta版本中使用的内部版本号。。。除非我手动向您发送一个文件(这是我分发预发布版本的方式,不会破坏WordPress更新),否则您几乎永远不会看到我提供的内部版本号。

    如果我在一个实时版本中发现一个bug,我会快速补丁并发布一个维护版本。比方说,我发布了一个插件的2.2版,有人注意到我忘了在noConflict()模式下调用jQuery。我将快速修补并立即发布2.2.1。

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

    要发布维护版本,您需要遵循与发布系统完整版本完全相同的步骤。因此,进行更改,增加版本readme.txt, 犯罪/trunk, 标签等。

    但一旦你标记了某个东西you never change it again.想想你的/tags 文件夹已及时冻结。该文件夹中的每个版本都是插件在特定时间点的快照。你应该never更改中的任何文件/tags 直接创建文件夹。

    如果你发现自己认为这可能是个好主意,就拍自己的后脑勺,然后发布一个维护版本:-)

    正如Piet提到的,我写道a good set of step-by-step instructions earlier ... 但该网站似乎丢失了我的截图。下面是另一个版本的分步指南,其中包含在我自己的网站上托管的来自Tortoise的屏幕截图:https://web.archive.org/web/20201023213434/https://ttmm.io/tech/how-to-publish-a-wordpress-plugin-subversion/

  • 结束

    相关推荐

    Switching Code plugins

    我目前正在使用“Wordpress代码片段”为插入到帖子中的代码添加功能。这个插件的工作方式是将代码添加到设置中的插件库中,然后执行类似于[代码:1]的操作(我记不清确切的语法了)我真的不太喜欢它的风格,所以我希望使用谷歌的美化。停用此插件会有什么影响?我会丢失所有的代码片段吗?我是否需要浏览每一篇文章并编辑所有的代码片段(即[代码:1])?