UCM Clearcase:一个项目中的流的层次结构与多个项目

时间:2009-10-19 14:06:10

标签: version-control clearcase clearcase-ucm

我们有一个项目,即将为其他稳定的代码库添加一项新功能,除了缺陷修复外没有任何重大变化。该计划不是单独开发新功能(可能是一个月)进行中间构建和测试,并且功能完成且质量可接受,将新功能的代码合并到主分支中。

问题是以下两种情况在明确案例方面更好:

  1. 基于当前项目的集成流中的基线创建新项目,在此单独项目中开发新功能,中间交付到新项目的集成流并从集成流构建。并最终将新项目的集成流中的更改传递到主项目(到dev或int)。

  2. 在主项目中使用流的层次结构:在主项目中创建集成流的子流(让我们称之为temp_int)和temp_int的子流(让我们称之为temp_dev)。在temp_dev中开发新功能,定期交付temp_int并从temp_int构建,然后将新功能从temp_int传递到主集成流。

1 个答案:

答案 0 :(得分:1)

您是否需要创建新项目或制作子流是一个经典问题。

在我看来,两种选择都相当。

唯一重要的区别是您在为此特定开发工作创建新流时可以选择的基础基线:

  • 对于子流,您只能选择在父流上生成的基线。
  • 对于新项目的主流,您将能够选择所需的任何基线。

除此之外:

  • 一个新项目提供了一个新的空间,用于隔离连贯容器中的多个流。但是,如果您需要在新功能开发期间包含一些稳定代码的小改进,那么交付将是有序的。
  • 子流允许在开发完成后清楚地可视化终端客户端:交付将是合并到父流的自然操作。此外,可以从父流到开发流定期进行rebase,以使其保持最新状态。

因此,如果您只有一个明确交付的流,则子流选项就足够了 如果你的开发最终比预见的更复杂,那么项目就更好了。