发布后版本控制和 SemVer 2.0(语义验证)

wzr*_*337 6 version-control npm semantic-versioning jspm yarnpkg

这不是一个编码问题,而是一个过程问题。

我正在构建的软件可能需要针对某些市场或一般市场进行发布后修复或添加功能。

遵循SemVer 2.0(http://semver.org/spec/v2.0.0-rc.2.html)将-标签附加到指定版本号进行标记的方案我想将标签添加+到版本号进行标记这样的发布后版本。

只要不发生重大更改,就会产生以下版本树:

1.0.1-rc1                               // initial pre-release
|
1.0.1-rc2                               // second pre-release
|
1.0.1                                   // actual release
|
|-------- 1.0.1+1 --- 1.0.1+2           // post release path
|
|
|
1.0.2                                   //non breaking
|
2.1.0                                   //1st breaking
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来完全兼容 semver?

npm、jspm 和yarn 将如何处理这样的 semVer 扩展?

我是不是少了一块?有“官方”解决方案吗?

wzr*_*337 3

遵循 semver 规范,我的建议似乎“无效”

  1. 构建元数据可以通过紧跟补丁或预发布版本后附加加号和一系列点分隔的标识符来表示。标识符必须仅包含 ASCII 字母数字和连字符 [0-9A-Za-z-]。确定版本优先级时应忽略构建元数据。因此,具有相同版本但不同构建元数据的两个包被认为是相同版本。示例:1.0.0-alpha+001、1.0.0+20130313144700、1.0.0-beta+exp.sha.5114f85。