2008-09-26 99 views
16

据我所知,Microsoft在对其产品进行版本控制时使用此模板:Major.Minor.Build.Revision。你如何版本你的项目?

当“开发人员”想要显示软件发生重大变化并且无法假定向后兼容性时,主要改变。也许重写代码已经完成了。

小数字表示向后兼容的意图的显着增强。

内部编号是一个小小的改变,例如重新编译同一个源代码。

修订版用于修复安全漏洞,并应完全互换。 Build和Revision都是可选的。这些信息基于MSDN Version Class

你如何版本你的项目,你为什么要这样的版本?

回答

7

我们通常在major.minor [.maintenance [.build]]上工作,但每个项目似乎有所不同。

大/小跟你提到的一样。对于小的(错误)修复,维护会增加,并且每次构建服务器运行时都会进行构建。

1

我使用major.minor.point.revision,其中point是一个bugfix-only版本,revision是版本库修订版。这很容易,效果很好。

1

我只是做MAJOR.MINOR。由于我是一名开发人员(偶尔会提供帮助)在网络应用程序上工作,因此大多数人都不会在乎我所做的小修复。所以当我做出更改/升级时,我只是重复了小版本,因为我使用了新功能和主要版本号。否则,就版本号而言,我只是忽略了小修正(尽管如果我需要为我自己回溯,我确实有Subversion修订号)。

1

我在很多小型项目上工作,我个人发现这很有用。

PatchNumber.DateMonthYear

这是一个小的基于Web的工具,其中用户可以看到当最后一次更新的时间和频率已更新。

PatchNumber是已完成的版本数,剩余部分用于在发布时显示用户。

2

我经常看到Xyz,其中X是发布号后的一年,yz是一年中的月份。即201是1月,发布后2年。即当产品在5月推出时,它的第一个版本号是105.明年2月发布的是202.

2

我们通常根据当前发行日期YYYY.MM.DD. *来版本化我们的项目,并且让我们构建数字自动生成,例如,如果我们今天有一个版本,它会是2008.9.26.BUILD。

0

我只有一个号码。第一版是001。第二次发布的第三个测试版是002b3,依此类推。这仅仅是为了个人的东西,现在我没有任何“释放”的东西,所以这都是理论。

4

我个人很喜欢用,重点是向后兼容的水平,该项目的用户/产品可以期待一个方案:

之前1.0:

  • 0.0.1 =首先释放
  • 0 .-。X =向后兼容更新
  • 0.X.0 =向后不兼容的更新

1.0之后:

  • -.- X =无界面更新改变
  • -.X.0 =与向后更新兼容接口添加
  • X.0.0 =向后不兼容的更新

使用兼容性作为版本号的中心点可以使用户更容易(特别是在te产品是库的情况下)判断是否能够期望平滑升级或不升级。

+0

语义版本编制已经进入现场,因为我写了这个答案:http://semver.org/ – 2011-05-06 23:55:38

1

Major.minor.patch.build 修补程序是修补程序或修补程序版本。

如果您可以通过SVN获取QA并且位于SVN上,则可以使用svn HEAD修订版作为内部版本号。通过这种方式,每个构建都会从源代码控制和构建内容中描述它的来源。这是否意味着你必须建立该走了间隙(1.0.0.1,1.0.0.34 ....)

0

我开始使用伪格式类似Ubuntu的:Y.MMDD

这有助于有几个原因:

  • 它更容易检查版本要求:如果(版本< 8.0901)模/退出/等。;
  • 可以在您的构建过程

自动生成在那第二点(红宝石&耙):

def serial(t) 
    t = Time.now.utc if not t.instance_of?(Time) 
    t.strftime("%Y").to_i - 2000 + t.strftime("0.%m%d").to_f 
end 

serial(Time.now)  #=> 8.0926 
serial(Time.now.utc) #=> 8.0927 

注:t.strftime(“%Y.%M %d“)to_f - 2000运行到浮点不精确:8.09269999999992

1

Major.Minor.BugFix.SVNRevision

e.g:3.5.2.31578

  • 的SVN版本让你的代码发送给客户非常精确的和平。你绝对确定这个错误是否存在。
  • 它还有助于在发生应用程序错误时找到正确的PDB。 只需将SVN修订版与您的构建服务器相匹配,将PDB复制到EXE位置,打开调试器并获得崩溃堆栈跟踪。
0

我以前喜欢的版本在80年代他们的帆船编译器的楠塔基特方式:

快船冬季1984年
快船夏季1985
快船冬季1985
剪秋1986年
快船1987年夏天

哦和覆盖物....

[得到泪眼]

相关问题