关于Discourse 3.2:在活跃开发中的Beta版本添加-dev后缀

在 tests-passed 中,从 3.2.0.beta1-dev 开始,Discourse 核心版本号将包含一个 -dev 后缀,以表明它们不是 beta 的最终“发布”版本。此后缀不会出现在 UI 中,因此这只是一个技术细节,对绝大多数人没有影响。

有关技术细节,请参见下文:


在 Discourse 3.1 及更早版本的 beta 系列中,我们的版本控制策略是“发布”一个 beta,然后将 tests-passed 中的版本号保持不变,直到下一个 beta 版本发布。这带来了一些问题:

  1. 在尝试指定版本时,像 3.1.0.beta2 这样的版本可能指代数百个可能的时间点。在精确定义兼容性时,这尤其成问题 通过 .discourse-compatibility 文件

  2. 在主要版本发布后,我们必须立即“发布”下一个版本的 beta1,以便在 tests-passed 上继续开发。这就是为什么我们有 冗余的 beta1 发布

为了改善这种情况,我们现在将在 beta 版本发布期间将 -dev 追加到版本号中。例如,我们以 3.2.0.beta1-dev 开始 3.2 的开发周期。当它准备好发布时,将被标记为 3.2.0.beta1,然后我们将立即跟进另一个提交,开始开发 3.2.0.beta2-dev

今后,我们的“主要版本”将如下所示:

    %%{init: { 'logLevel': 'debug', 'gitGraph': {'showBranches': true, 'showCommitLabel':true,'mainBranchOrder': 2}} }%%
    gitGraph
       branch stable order: 1
       commit tag: "v3.1.8"
       checkout main
       commit id: "bump to v3.2.0.beta17" tag: "v3.2.0.beta17" type: HIGHLIGHT
       commit id: "bump to v3.2.0.beta18-dev"
       commit
       commit id: "bump to v3.2.0.beta18" tag: "v3.2.0.beta18" type: HIGHLIGHT
       checkout stable
       merge main id: "merge"
       commit id: "bump to v3.2.0" type: HIGHLIGHT tag: "v3.2.0"
       checkout main
       commit id: "bump to v3.3.0.beta1-dev"

“次要版本”将如下所示:

    %%{init: { 'logLevel': 'debug', 'gitGraph': {'showBranches': true, 'showCommitLabel':true,'mainBranchOrder': 2}} }%%
    gitGraph
       branch stable order: 1
       commit tag: "v3.1.1"
       checkout main
       commit id: "bump to v3.2.0.beta2-dev"
       commit id: "... development of beta2 ..."
       commit id: "bump to v3.2.0.beta2" tag: "v3.2.0.beta2" type: HIGHLIGHT
       checkout stable
       commit id: "backports"
       commit id: "bump to v3.1.2" type: HIGHLIGHT tag: "v3.1.2"
       checkout main
       commit id: "bump to v3.2.0.beta3-dev"

(在这些图中,“main”和“tests-passed”可以被视为等同)

这些流程已编入一些 rake 任务中,可以在 version_bump.rake 中找到。

31 个赞

它确实出现在 /admin 页面上……但找到这个主题让我安心了。

1 个赞

如果仅仅是版本编号就如此复杂(对我这样的用户来说,分配和理解都很困难),那么软件开发该有多复杂!!!

花了大约15分钟,研究了所有关于beta、stable、dev、tests-passed、backuporting的事情后,我终于放弃了。

搞什么鬼!就让我的网站继续显示“Dev”吧!!