我认为在阅读了这里的所有帖子之后我理解了ClearCase UCM中组件的概念,但是,我很确定我错过了一些东西。
我创建了两个项目A和B,每个项目分别包含一个组件Comp_A和Comp_B,它们每个都包含一个共享组件Comp_C以及一个无根组件Comp_D来包含复合基线。
一切正常。但是,这如何防止代码重复?在对项目A中的共享组件进行更改时,需要传递该更改(使用基线的项目间交付),以使其在项目B中可见,这意味着共享组件的所有文件都具有对它们所做的更改最终会在项目的开发和集成流中重复出现。
如何设置一个组件以供两个项目共享而不会使其代码重复?
示例:当我对项目A中的共享组件C中的文件进行更改时,将其传递到项目A的Integration流,创建基线,然后继续将该基线传递到项目的B的开发流,然后传递到项目B的集成流并执行该文件的版本树,我看到同一文件的4个版本都是相同的。当然,我们仍然在谈论相同的元素,但是没有一种方法可以让两个项目共享一个组件(只能在一个组件中修改)而不会发生这种情况吗?
我认为我正在寻找的是一个项目成为“生产者”和其他项目成为该组件的“消费者”。
答案 0 :(得分:1)
UCM Baseline是一种引用 set 文件(UCM组件)的精确版本的方法
如果在项目A /组件C中创建新基线,则不会影响项目B,项目B继续引用其自己的组件C的初始版本(可能有自己的更改)
当您交付基线项目间时:
当我对项目A中的共享组件C中的文件进行更改时,将其传递到项目A的集成流,创建基线,然后继续将该基线传递到项目的B的开发流,然后交付到项目B的集成流并执行该文件的版本树,我看到同一文件的4个版本都完全相同。
避免这种情况的一种方法是: