1

我有一个 Haskell 项目的(可能是公共的)开发分支,我也发布到 Haddock。我的发布分支的负责人总是(自然地)有.cabal一个版本对应于当前 Haddock 版本的文件。

.cabal但是我的开发分支的文件中应该有什么版本?例如,0.1.2.6在 Hackage 上发布版本之后,任何地方(尤其是沿着开发分支)的后续提交都不是 version 0.1.2.6,它们 (yet) 也不是0.1.2.7。这样的提交应该是什么版本?是否有标准做法,特别是针对 Hackage,或一般的源代码控制(回想一下 Cabal 对version可以采用的值施加限制)?

4

1 回答 1

-1

我看不到字段的限制性规则version

包版本号,通常由一系列用点分隔的自然数组成。

因此 - 您可以使用自由格式版本,对于 Git-repos git describe作为任何变更集的标识符是不错的选择,并且可以将此数据插入带有smudge|clean 过滤器的版本化文件中

笔记:

如果“仅数字”对您来说是必须的,您可以

  • 遵循语义版本控制
  • 使用唯一(递增?)版本

但是git describe+filter 对成为“必须”,而不是“可能”的选择

1.0.4-14-g2414721被转换为(在分支点 inbeetwen 的情况下,您可能会丢失变更集的唯一标识1.0.4.14,但是......)并且这样的版本将是:

  • 对你正确
  • 可用于识别原始变更集
  • 很容易(自动)从git describe
于 2015-09-28T23:36:10.310 回答