我正在维护some js library。发布遵循SemVer。当前的稳定版本为 1.5.0 。我正在研究 1.5.1 ,并且有 1.5.1-beta.2 ,该文件在npm上以“ next”标记发布。今天,我得到了错误报告,发现了问题并准备解决。问题是 1.5.1 不会在最近的几天内完成,结果比我最初计划的要复杂得多。但我希望发布此修补程序。
在这种情况下正确的策略是什么?我想避免的明显方法是将错误修复程序推迟到 1.5.1 完成并发布,然后发布包含该修复程序的 1.5.2 。
另一种方法是基于 1.5.0 将修补程序发布为 1.5.1 ,然后继续进行先前的工作,将其从 1.5.1-beta切换到此版本。 2 至 1.5.2 ,甚至 1.6.0 。在这种情况下,我担心与结果链不一致:
1.5.0→1.5.1-beta→1.5.1-beta.1→1.5.1-beta.2→1.5.1(基于1.5.0的错误修复)→1.5.2(基于1.5的错误) .1-beta.2)
如何使用SemVer解决此类冲突?