我有一个Haskell项目的(可能是公共的)开发分支,我也发布给了Haddock。我的发布分支的负责人总是(自然地)有一个.cabal
文件,其版本对应于当前的Haddock版本。
但是我的开发分支上的.cabal
文件应该包含哪个版本?例如,在Hackage上发布版本0.1.2.6
之后,任何地方(特别是沿着开发分支)的后续提交都不是版本0.1.2.6
,也不是(还)0.1.2.7
。这样的提交应该是什么版本?是否有标准的做法,特别是对于Hackage或者一般的源代码控制(回想一下Cabal对version
可以采用的值施加限制)?
答案 0 :(得分:-1)
我无法看到version
字段
包版本号,通常由一系列由点分隔的自然数组成。
因此 - 你可以使用自由格式版本,而Git-repos git describe可以作为任何变更集的标识符,这个数据可以插入到版本化文件中smudge|clean filters
注意:强>
如果"只有数字"对你来说是必须的,你可以
但是git describe
+过滤器对变为"必须" ,而不是"可能"选择
1.0.4-14-g2414721
被转换为(你可以,在分支点inbeetwen的情况下,可能丢失唯一标识的变更集,但是......)1.0.4.14
并且这样的版本将是: