代码之家  ›  专栏  ›  技术社区  ›  Warrior

您如何对项目进行版本设置?

  •  16
  • Warrior  · 技术社区  · 18 年前

    我知道Microsoft在对其产品进行版本控制时使用此模板:Major.Minor.Build.Revision。

    当“开发人员”想要表明软件发生了很大的变化,并且不能假设向后兼容性时,Major就改变了。也许代码的主要重写已经完成。

    小号表示一个显著的增强,旨在向后兼容。

    修订版用于固定安全孔,应完全可互换。构建和修订都是可选的。此信息基于 MSDN Version Class .

    您如何对项目进行版本设置,为什么要以这种方式进行版本设置?

    13 回复  |  直到 18 年前
        1
  •  7
  •   Max Stewart    18 年前

    我们通常在我工作的地方做大的、小的[维护[.build]],但每个项目似乎有一点不同。

    大调/小调与你提到的相同。每次构建服务器运行时,针对小(bug)修复和构建的维护都会增加。

        2
  •  4
  •   Chris Vest    18 年前

    1.0之前:

    • 0.-.X=向后兼容更新
    • 0.X.0=向后不兼容的更新

    1.0之后:

    • -.-.X=在不更改接口的情况下进行更新

    使用兼容性作为版本号的中心点,用户(尤其是te产品是一个库时)更容易判断他们是否可以期望一个更平滑、更稳定的版本 升级与否。

        3
  •  2
  •   Marcin    18 年前

    我经常看到Xyz,其中X是发布编号后的第二年,yz是一年中的月份。即201是发布后2年的1月。也就是说,当产品在5月份发布时,它的第一个发行号是105。明年2月发布的是202。

        4
  •  2
  •   mattruma    18 年前

        5
  •  1
  •   Serafina Brocious    18 年前

    我使用major.minor.point.revision,其中point是一个只针对bug的版本,revision是存储库版本。这很简单,而且效果很好。

        6
  •  1
  •   Ólafur Waage    18 年前

    PatchNumber.DateMonthYear

    这适用于基于web的小型工具,用户可以在其中查看上次更新的时间和更新频率。

    PatchNumber是已完成的发布数量,其余用于显示发布时的用户。

        7
  •  1
  •   Peter Kahn    18 年前

    大调,小调,补丁,构建

    如果您可以在中获得QA并在SVN上,您可以使用SVN HEAD修订版作为版本号。通过这种方式,每个构建都从源代码管理和构建中的内容方面描述了它的来源。这意味着您将拥有带有间隙的构建(1.0.0.1、1.0.0.34…)

        8
  •  1
  •   David    18 年前

    大调。小调。错误修正。SVNRevision

    e、 g:3.5.2.31578

    • SVN修订版为您提供了发送给客户的非常准确的代码。你绝对可以肯定那个错误修正是否存在。
    • 它还有助于在出现应用程序错误时找到正确的PDB。 只要在构建服务器上匹配SVN版本,将PDB复制到EXE位置,打开调试器,就可以得到崩溃堆栈跟踪。
        9
  •  1
  •   John Millikin    18 年前

    我只做大调,小调。由于我是一名开发人员(偶尔会得到帮助),所以大多数人都对我所做的小修改毫不在意。因此,当我进行一些重大的更改/升级时,我只是在添加新功能和主要版本号的同时迭代次要版本。否则,就版本号而言,我只是忽略了一些小的修正(尽管如果我需要自己回去参考的话,我确实有Subversion版本号)。

        10
  •  0
  •   Bernard    18 年前

    我只有一个号码。第一个版本是 001 . 第二版的第三个测试版是 002b3

        11
  •  0
  •   Jonathan Lonowski    18 年前

    我开始使用与Ubuntu类似的伪格式: 嗯

    • 更容易检查版本要求: 模具/出口/等。
    • 它可以在构建过程中自动生成

    关于第二点(ruby&rake):

    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
    

    注: 遇到浮点不准确的情况: 8.09269999999992

        12
  •  0
  •   erlando    18 年前

    我过去喜欢80年代Nantucket对Clipper编译器进行版本控制的方式:

    克利伯冬季1984
    克利伯夏季1985
    克利伯冬季1985

    1987年夏季克利伯

    哦,还有覆盖层。。。。

    推荐文章