我很尴尬地说,即使我的插件已经存在于存储库中并且已经下载了30万次以上,我对通过Torvise svn更新插件的过程还是一无所知!

关于svn的很多问题,但它们只会使我进一步困惑:-z

到目前为止,我已经设法解决了一些问题,但是我需要了解将插件更新到新版本的正确过程提交主干并创建标签目录。

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


在本地对插件更新进行编码,直到我很高兴
将本地插件文件夹中的所有文件复制到/ trunk /(插件和自述文件的版本号已更新)
提交主干目录
右键单击在“ trunk”目录中,选择“ create branch / tag”,然后将其设置为复制到/ tags /中的文件夹,名称为版本号。

正确且正确的顺序?如果不是,正确的方法是什么?

,关于版本号...

由于某种原因,我从2.8.1升级到2.81.2最后更新,这是否意味着如果我将下一个版本号更改为2.9,则该更新不会在具有2.81.2版本的人员的仪表板上显示为可用更新?

wordpress如何确定哪个是最新版本,以及用户是否应该更新其版本?它做一个version_compare吗?仅适用于正确的php版本格式不是吗?例如。 2.9.2被认为是低于2.81.2的版本? (因为据我所知,version_compare从左侧开始,并且比较每个数字的较高/较低,因此9将被视为小于81)

另一个问题,

如果我在代码中发现了一个愚蠢的错误,它并不会真正影响插件的工作,可能是拼写错误或其他图像。我要编辑什么并承诺使该插件的任何新下载都包含更改?

我必须编辑行李箱和标签文件夹并同时提交两者吗?

评论

没有理由感到尴尬,一个月前,我也遇到了问题,您实际上比我走得更远:) @EAMann在以下线程上很好地描述了整个过程,包括屏幕截图:wordpress.stackexchange.com/questions/ 16951 /…

#1 楼


我不好意思说,即使我的插件已经在存储库中已有多年并且下载了30万次以上,我对通过Torvise svn更新插件的过程还是一无所知! />
不要。 SVN对很多人来说可能很棘手...所以让我们逐步进行操作...


这是我到目前为止所做的。


在本地编码插件更新,直到对它满意为止
将本地插件文件夹中的所有文件复制到/ trunk /(插件和自述文件包含更新的版本号)
提交主干目录
右键单击主干目录并选择create branch / tag并将其设置为复制到/ tags /中的文件夹,名称为版本号

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


几乎...

您应该遵循的步骤:


在本地对插件更新进行编码,直到对它满意为止
readme.txt文件中增加“稳定”标记以匹配新版本号
将本地更新复制到本地插件的/trunk目录中文件夹
提交整个插件以将对/trunk的更改保存到存储库中
右键单击/trunk并创建一个新标签,复制到/tags/X.X.X中,其中xxx与readme.txt的“ stable”标签中的版本相同(步骤2)
出于某种原因提交整个插件以保存标签


,我在上次更新时从2.8.1版本升级到2.81.2,这是否意味着如果我将下一个版本号更改为2.9,则该版本将不会显示为具有2.81.2版本的人员的仪表板中的更新。


Bingo。如果您提交的版本是2.81.2,而人们实际下载了该更新,则发布该版本时他们不会看到2.9。


wordpress如何确定最新版本以及用户是否应更新其版本?它做一个version_compare吗?仅适用于正确的php版本格式不是吗?例如。 2.9.2被认为是低于2.81.2的版本? (因为据我所知,version_compare从左侧开始,并且比较每个数字的高/低,因此9会被认为小于81)


准确。标准的PHP版本比较会将2.81.2版视为比2.9版更高的版本,因为81>9。

我建议您接下来发布3.0版,然后在以后进行版本控制时要格外小心防止这种错字。


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

我必须编辑主干和标签文件夹并同时提交两者吗?


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

2      .      1       .       3       .       5
major         minor           maint           build


内部版本号我只在内部使用或用于beta版本...您几乎永远不会看到来自以下版本的内部版本号我,除非我手动通过电子邮件向您发送文件(这是我可以分发不会破坏WordPress更新的预发布版本的方式)。

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

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

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

但是一旦标记了某些内容,就再也不会更改。认为您的/tags文件夹已冻结。该文件夹中的每个版本都是您插件在特定时间的快照。您永远不要直接更改/tags文件夹中的任何文件。

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

正如Piet所述,我早些时候写了一套很好的分步说明……但是该网站似乎丢失了我的屏幕截图。这是该分步指南的另一个版本,并且在我自己的网站上托管了Tortoise的屏幕截图:http://eamann.com/tech/how-to-publish-a-wordpress-plugin-subversion/

评论


好答案。不过有一个小的修改:当您说永不更改已标记的内容时,那几乎是对的。假设您在自述文件中输入了错误,则无需为了维护而进行维护。今天在#wordpress-meta中与一位主要开发人员聊天,他们提到可以编辑标记的版本,只要它是readme.txt文件就可以。没有其他人。不过总的来说,是的,不要编辑标记的文件。

–安迪·默瑟(Andy Mercer)
2014年5月5日20:37

好答案。我唯一要补充的是,涉及到插件版本号时,尽管不必使用语义版本控制,这是一个好主意,但它使用户更轻松地知道您的插件是否有可能破坏其站点主要版本更改。无论您选择对插件进行版本控制的任何系统,都请记住要更新自述文件更改日志。

–阿伦
16年5月24日在19:54