2009-10-19 186 views
2

我们有一个项目,并且即将添加一个新的功能块到其他稳定的代码库,除了修复缺陷之外,没有任何重大更改。该计划不是单独开发新功能一段时间(可能是一个月)进行中间构建和测试,并且功能已完成且质量可接受将新功能的代码合并到主分支中。UCM Clear Case:一个项目中的流对象与多个项目的对比

的问题是以下两种情况下,什么是在清除案例方面更好:

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

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

回答

1

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

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

唯一显著差异是基础基线,你将能够为这个特殊的发展努力创造新的流时挑:

  • 为子流,你只能选择一个基准在父流上生成。
  • 对于新项目的主流,您将能够选择任何您想要的基线。

比其他:

  • 一个新的项目提供一个连贯的容器隔离几个流了新的空间。但是,如果您需要在新功能开发期间对稳定代码进行一些小的改进,那么交付将会按顺序进行。
  • 子流允许在开发完成后清晰地显示最终客户端:交付将是合并到父流的自然操作。此外,可以从母流向您的开发流定期重新分配数据,以保持最新状态。

因此,如果您只有一个流清晰地交付制作,子流选项就足够了。
如果你的开发变得比预想更复杂,那么一个项目会更好。