在UCM和基础ClearCase之间进行选择

时间:2010-12-16 19:06:45

标签: clearcase clearcase-ucm

哪一个更好? UCM或基础ClearCase?

对于paralel开发,我们需要UCM吗?在ClearCase基础上使用手动分支是否容易出错?

串行开发没有意义吗?在同一个分支上工作?

2 个答案:

答案 0 :(得分:2)

一个并不比另一个好,UCM代表一组不同的最佳实践,您可以选择在基础ClearCase之上应用。

UCM很擅长定义一组连贯的文件(UCM“组件”),它们将是:

  • 在同一分支中分支
  • 标记为(“baseline”)为all(所有文件都接收不可变标签)
  • 由其他流引用(基线列表)

并行开发可以从UCM中受益,因为您可以提前设置流,以便定义合并工作流。您没有强制执行任何操作,但如果您在子流上完成开发工作,则要执行的自然合并是“传递”到父流。 (与基础ClearCase相反,分支机构没有“分层组织”:一旦你在分支中完成任务,你可以将你的工作合并到任何其他分支:没有什么可以提醒你的什么可能是你合并的自然候选分支。)

但另一个优点是配置的定义,即为了“工作”(编译或开发新功能,或者需要获得的基线(标签)的确切列表)部署,或重构,或......) 根据您必须处理的组件数量,您将采用:

  • 系统方法:每个组件都可以修改
  • 组件方法:一个组件可修改,其他组件不可修改:您只在一组文件中开发,并在修复标签上使用其他文件进行编译。

答案 1 :(得分:2)

我可以添加......

这实际上取决于处理同一项目的开发团队的规模和复杂性。例如,我们有一个由来自世界各地的100名开发人员组成的大型开发团队,这个团队真正受益于UCM提供的所有功能(如上面的主VonC所述)。

另一方面,我组织中的大多数团队大约有10人,他们都位于同一个地方,这些团队真的不想搞砸交付和合并,所以他们选择简单地使用基本CC与基本分支策略,例如一个集成/发布分支​​,然后是每个发布的每个dev分支,或个人开发分支。对于规模较小的团队,我们通常建议他们使用基础CC,因为它更易于管理。

希望这有帮助。