什么语义版本说明当引入重大变化时,但过去已经引入了一个主要版本?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么语义版本说明当引入重大变化时,但过去已经引入了一个主要版本?相关的知识,希望对你有一定的参考价值。
我创建了一个带语义版本的软件。
[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有分歧吗?
答案
进行更改时,必须增加主要版本。 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.
以上是关于什么语义版本说明当引入重大变化时,但过去已经引入了一个主要版本?的主要内容,如果未能解决你的问题,请参考以下文章