我不好意思说,即使我的插件已经在存储库中已有多年并且下载了30万次以上,我对通过Torvise svn更新插件的过程还是一无所知!
不用了 SVN对很多人来说可能很棘手...所以让我们逐步进行一些事情...
到目前为止,这是我一直在做的事情。
- 在本地对插件更新进行编码,直到对它满意为止
- 将本地插件文件夹中的所有文件复制到/ trunk /(插件和自述文件具有更新的版本号)
- 提交主干目录
- 右键单击主干目录,然后选择“创建分支/标签”并将其设置为复制到/ tags /中的文件夹,名称为版本号
这是正确的并且顺序正确吗?如果没有,正确的方法是什么?
差不多...
您应该遵循的步骤:
- 对插件更新进行本地编码,直到对它满意为止
- 在
readme.txt
文件中增加“稳定”标记以匹配新版本号
- 将本地更新复制到
/trunk
本地插件文件夹的目录中
- 提交整个插件以将更改保存
/trunk
到存储库
- 右键单击
/trunk
并创建一个新标签,复制到/tags/X.X.X
其中xxx与的“稳定”标签中的版本相同的地方readme.txt
(步骤2)
- 提交整个插件以保存标签
由于某种原因,我在上次更新时从2.8.1版本升级到2.81.2,这是否意味着如果我将下一个版本号更改为2.81.2,则该更新将不会显示在具有2.81.2版本的人员的仪表板上。 2.9?
答对了。如果您将版本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
,commit /trunk
,tag等中增加版本。
但是,一旦您标记了某些内容,就永远不会再更改它。 认为您的/tags
文件夹已冻结。该文件夹中的每个版本都是您插件在特定时间的快照。您永远不要/tags
直接更改文件夹中的任何文件。
如果您发现自己认为这是一个好主意,可将自己打在头上,然后发布维护版本:-)
正如Piet所提到的,我之前写了一组很好的分步说明 ……但是该网站似乎丢失了我的屏幕截图。这是该分步指南的另一个版本,并且在我自己的网站上托管了Tortoise的屏幕截图:http://eamann.com/tech/how-to-publish-a-wordpress-plugin-subversion/