我应该为我的发布间开发分支提供什么样的Cabal版本?

时间:2015-09-28 19:35:34

标签: version-control cabal hackage

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

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

1 个答案:

答案 0 :(得分:-1)

我无法看到version字段

的限制性rules
  

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

因此 - 你可以使用自由格式版本,而Git-repos git describe可以作为任何变更集的标识符,这个数据可以插入到版本化文件中smudge|clean filters

注意:

如果"只有数字"对你来说是必须的,你可以

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

但是git describe +过滤器对变为"必须" ,而不是"可能"选择

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

  • 为你纠正
  • 可用于识别原始变更集
  • 从({1}}
  • 轻松获得(自动)