【问题标题】:What is the difference between Full baseline and Incremental baseline in Clearcase UCM?Clearcase UCM 中的完整基线和增量基线有什么区别?
【发布时间】:2012-03-30 14:17:38
【问题描述】:

我已为我的版本应用了完整的基线。例如。基线“MYProj_2.0.0.20”。

然后测试团队发现了一些重大问题。为了解决这个问题,开发团队几乎没有进行任何更改。

在完成构建后,我再次应用了相同的基线“MYProj_2.0.0.20。但这次我应用了增量基线。根据 UCM,基线 MYProj_2.0.0.20 变成了 MYProj_2.0.0.20.3452 (末尾的一些随机数使其唯一)。

现在,如果我将 MYProj_2.0.0.20.3452 视为发布基线,它将包含所有更改还是仅包含更改(“MYProj_2.0.0.20”和“MYProj_2.0.0.20.3452”之间的增量更改)。

请澄清一下。

【问题讨论】:

    标签: clearcase clearcase-ucm baseline


    【解决方案1】:

    它将包含所有更改。

    除了增量基线将通过添加来计算这些变化:

    • 由少数更改引入的独特修改(即“增量基线”:仅在自上一个基线以来的新版本上设置的标签)
    • 所有其他更改已被以前的基线引用到完整的基线

    见“Types of baselines”:

    • 完整基线是您通过记录组件根目录下所有元素的所有版本来创建的基线。
    • 增量基线是您通过记录最后一个完整基线以及自创建最后一个完整基线以来已更改的元素版本而创建的基线。

    (还有“检查点基线”,详见“about ClearCase baselines”,由交付和变基操作自动创建,但您不需要现在就关心这些)

    这就是为什么我总是更喜欢完整的基线:如果您的最后一个基线是完整的,则所有增量操作(如“与另一个基线比较”)都会更快。
    支持增量基线的论点是它们的创建速度更快(因为放置基线的版本数量较少)。
    但是,如果您的 UCM 组件太大以至于在其版本上放置标签的所有太长,那么您的组件可能一开始就太大了。

    请注意,您始终可以将增量基准升级为完整基准。

    另请注意,您有以下区别:

    • 基线的标题(此处为“MYProj_2.0.0.20”:您可以根据需要放置任意数量的“MYProj_2.0.0.20”基线)
    • 基线的 id(始终唯一:如果“MYProj_2.0.0.20”已被占用,则 ClearCase 在末尾生成一些数字:“MYProj_2.0.0.20.3452”)

    【讨论】:

    • 还有一点支持增量基线——它们显然倾向于在元数据中占用更少的空间。因此,在每天基线+构建超过 5 年的大型开发项目(以及随之而来的大型 UCM 组件)中,这在管理 VOB 大小方面产生了巨大的差异。
    • @PulakAgrawal 每次遇到这种问题时,我都会立即将这个庞大组件的一部分提取到一个新组件中。 “巨大”组件违背了 UCM 组件的目的,即定义一组连贯的文件:它的大小必须包含且合理。
    • @PulakAgrawal 话虽如此,您的评论说明了 ClearCase 的一个主要流程。它。做。不是。规模。
    • @VonC 链接因“基线类型”而中断。这是:Types of Baselines
    • @javaPlease42 谢谢。我已经相应地编辑了答案。
    猜你喜欢
    • 2011-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-08
    • 1970-01-01
    • 1970-01-01
    • 2013-10-17
    • 2014-12-18
    相关资源
    最近更新 更多