2

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

问题是以下两种情况中的哪一种在 Clear Case 方面更好:

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

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

4

1 回答 1

1

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

在我看来,这两种选择是相当的。

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

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

除此之外:

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

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

于 2009-10-19T14:32:12.777 回答