代码之家  ›  专栏  ›  技术社区  ›  Simeon Pilgrim

是否在许多工具中同步生成数字?

  •  1
  • Simeon Pilgrim  · 技术社区  · 15 年前

    我们目前有许多办公产品和嵌入式产品。他们都有相同的版本方案 专业 . 少数的 . 生成号 . 修订版 . 使用夜间和手动生成增加生成数。

    从开发支持的角度来看,这使得管理“正确版本”变得非常容易,但是当一个工具从v10变为v200时,现场支持人员会惊慌失措,我们说没有变化。

    这个计划(全部同步)有什么问题是因为我们对它的热爱而丢失的吗?

    更新: 这是 生成号 这是一个跳跃式的增长,主要的小调只在每年的类型规模上改变。

    这个 修订版 对于时间x的所有文件都是一样的,但是没有人真正注意到这一点。

    所有.exe和.dll等具有相同的x.y.w.z编号。所以当我们在嵌入式产品上做大量工作时,办公产品从1.1.10.1234发展到1.1.132.4321。

    2 回复  |  直到 15 年前
        1
  •  1
  •   Mike737    15 年前

    我不会真的说这是一个问题,只要他们可以很容易地查看更改日志,看看更改了什么。

    不过,从逻辑上来说,如果任何产品中都没有更新库,或者产品本身也没有任何更改,那么版本号应该保持不变。

    我唯一能提的建议就是换一个有日期的版本号,这样主要版本和次要版本的变化就不会那么快了。类似于9.0417.YYYY.XXXX的版本将是2009年4月17日发布的版本,版本号为YYYY和XXXX作为SVN版本。如果不想更改主版本号并将日期保留在次版本中,可以使用Microsoft的版本控制样式。有一篇关于微软如何在 http://blogs.msdn.com/jensenh/archive/2005/11/11/491779.aspx .

        2
  •  0
  •   paquetp    15 年前

    我使用了一个聚合版本控制方案。所以你说,如果部署的域版本,你有很多产品都有相同的版本号——我假设这意味着如果你更新嵌入的库,Office产品不使用库,即使没有代码改变,Office产品仍然会得到一个新的版本号。

    所以在聚合方案中,系统有一个大的版本号,每个子系统都有自己的版本号。我之所以使用ClearCase符号,是因为我不知道SVN中等价物的术语:顶级组件在层次结构中拥有其下的所有子组件(想想组件就像一个文件夹,其中包含代码,这样文件夹中的所有内容都共享相同的版本,或ClearCase称之为“基线”)。

    如果我在顶级系统组件中创建一个新的基线(版本),它会将其标记为新版本,并且所有子组件也会获得一个新版本(可能具有不同的版本方案),但前提是它们已经更改。

    对于顶级系统版本,我们使用日期时间基线和“版本号”。然后,每个子系统都包含主/次/构建/SVN。此外,我们不会在“about->help”或等效文件中显示SVN和内部版本号,只有深入了解一些“system config”文件,才能提取实际的内部版本/SVN号(例如,通过查看可执行文件中的元数据)。这样,用户只能看到主要/次要版本,而不能看到构建和SVN编号的gobbledigook。