我的问题是,哪种版本命名方案应该用于什么类型的项目.
很常见的是major.minor.fix,但即使这样也可以导致4号(即Firefox 2.0.0.16).有些人有一个模型,奇数表示开发人员版本甚至数字稳定版本.所有类型的添加都可以进入混合,如-dev3,-rc1,SP2等.
存在理由偏好一种方案而不是另一种方案,并且不同类型的项目(即开源与封闭源)是否有不同的版本命名方案?
目前,我们正在为C#winforms项目使用以下版本编号方案:
"重大发布"."次要发布"."迭代次数"."迭代中的内部编号"
我们希望能够通过查看版本号来识别该迭代中的迭代次数和构建次数.
在过去,我们做过类似的事情:"主要版本"."次要版本"."1.0的顺序版本号".例如,"4.0.648"意味着自1.0以来有648个构建 - 但是这些信息相当无用和轶事,这就是为什么我们改变以反映迭代中的迭代和构建.
因此,考虑到这个新的敏捷版本编号,我们现在遇到了一个问题,即不同的产品组希望在我们的项目的迭代中进行更改.在这种情况下,版本号没有意义,因为它们的迭代和构建号不对应.例如,我的项目的最后一次构建是1.0.5.1,表示第一次构建迭代5.现在这个第三次迭代的另一个项目想要对我的项目进行更改并重建.
我应该如何应对这种情况?你如何在敏捷项目中进行版本编号?
我正在为一个应用程序寻找一个版本编号方案/模式/系统,该应用程序目前分为几个版本,具有shell游戏风格发布日期.这使版本控制成为一场噩梦.我想使用典型的Major.Minor.Revision然而这将很快打破我现在在这里运行的方式.
这是我的库存......
为了使它更有趣,他们正在计划与另一个系统集成的另一个项目(新功能).
增加复杂性的事实是,我们不确切地知道这些将"上线"的时间(读取:顺序).如果我们正在集成的系统之一被延迟,那么管理层会更改发布计划.因此,今天的版本1.2.0可能会延迟,然后标记为1.3.0的版本将首先下降.在没有在周期结束时更改版本标签的情况下,已经很难协调QA.
有问题吗?思考?小毛茸茸的动物?
和平| dewde
如何为autoconf项目分配动态的基于git的版本号?Autoconf需要一个静态字符串参数
AC_INIT([Title],[version],[name])
Run Code Online (Sandbox Code Playgroud)
AC_INIT文档说可以使用M4提供基于shell的版本.M4超出了我的范围.我想根据此命令的结果对我的软件进行版本控制
version=`git describe --abbrev=7 --dirty --always --tags`
Run Code Online (Sandbox Code Playgroud)
这会产生类似的东西4.6.6-alpha07-9-ga3e01a8.
我可能不理解高级答案.我需要一个解决方案,例如"将其剪切并粘贴到您的autoconf.ac和/或acinclude.m4".
任何帮助赞赏.