什么语义版本说明当引入重大变化时,但过去已经引入了一个主要版本?

问题描述 投票:1回答:1

我创建了一个带语义版本的软件。

[1.0.0]<--[1.0.1]

在某些时候,我需要介绍一些重大变化。我决定添加分支2.0并维护1.0。

[1.0.0]<--[1.0.1]<--[2.0.0]<--[2.0.1]

而且发展仍在继续。

                   /-[2.0.0]<--[2.0.1]<--[2.0.2]
                   |
[1.0.0]<--[1.0.1]<--[1.0.2]

现在我需要在1.0中引入新功能,所以我决定启动分支1.1。

                   /-[2.0.0]<--[2.0.1]<--[2.0.2]
                   |
                   |         /-[1.1.0]<--[1.1.1]<--[1.1.2]
                   |         |
[1.0.0]<--[1.0.1]<--[1.0.2]<--[1.0.3]

现在,...现在我需要在版本1.1中引入BC,但verision 2.0已经存在。语义版本控制表示增加主要版本。但是,如果主要版本在过去增加了怎么办?是版本3.0的时间? 3.0和2.0有分歧吗?

git semantic-versioning
1个回答
1
投票

进行更改时,必须增加主要版本。 SemVer spec中没有任何内容要求增量正好为1.如果你有一套BC必须应用于维护叉,而不是产品线的头部,你可能实际上有两个产品,应该只是使用自己的版本轨道创建一个新的。规范不要求3.x.x与2.x.x和1.x.x相关,但是不能保持谱系是不寻常的。

对于产品叉(分支),您也可以独立于另一个分支对每个分支进行版本控制,但是您不能发布多个Prod.x.y.z,因此您基本上会发布两个产品;也许是Prod.B1.x.y.z和Prod.B2.x.y.z.

© www.soinside.com 2019 - 2024. All rights reserved.