如何将特定UCM活动中的更改从一个ClearCase流合并到另一个

时间:2013-07-17 10:07:35

标签: clearcase clearcase-ucm cleartool

理论上这应该非常简单,即将特定UCM活动的变化从一个流合并到另一个流。

我原以为我可能只能在GUI中使用Deliver命令,然后只选择要传递的所需活动,但似乎目标流设置为不允许从其他流传递。

通过搜索文档,我似乎可以通过命令行使用findmerge工具来完成此操作,但是从相当稀疏的文档中可以清楚地知道如何执行此操作。看起来它可能是一个两阶段的过程,即首先生成一个“变更集”,然后合并该变更集?此外,我想手动为每个受影响的文件进行合并,因此我需要在可能的情况下调用图形合并工具。

如果有人可以给我一个例子findmerge +用于合并活动的任何命令行,那将是一个很好的开始。此外,欢迎任何其他有关如何合并活动的建议。

1 个答案:

答案 0 :(得分:4)

首先,(通常)交付UCM以提供所有活动 你可以尝试只提供一个子集,但你很快就会抱怨"时间线"它们将所有活动人为地联系在一起,迫使你在下次交付时提供它们(全部)。

  

findmerge工具,但从相当稀疏的文档中你怎么做不清楚。似乎它可能是一个两阶段的过程,即首先生成一个"变更集"然后合并那个变更集?

cleartool findmerge activity:是一种非UCM方式,用于将活动引用的所有版本从流(实际上是一个分支)合并到另一个分支。

ct findmerge activity:A1@\pvob activity:A3@\pvob -fcsets -c "report for delivery" -merge -gmerge

参见" ClearCase : Making new baseline with old baseline activities"有关时间轴(活动依赖关系)和findmerge的更多信息。

technote swg21267316

中记录了这一点

替代方法:

  

从目标视图:

     

设置为活动(setact)或创建新活动(mkact)。此活动就像在交付期间通常使用/创建的Integration活动一样。它允许您:

  • 合并后检查文件。
  • 使用以下格式运行findmerge:
    cleartool findmerge activity-selector ... -fcsets [-gmerge | -merge]
  • 根据需要合并文件
  • 签入合并的文件

示例:

M:\int\cvob1>cleartool findmerge activity:A@\pvob -fcsets -gmerge
Needs Merge "M:\int\cvob1\old folder\new name" [to \main\int\7 from \main\int\de
v\2 base \main\int\dev\1]
Checkout comments for this and any additional elements:
deliver dependencies work around
.
Checked out "M:\int\cvob1\old folder\new name" from version "\main\int\7".
  Attached activities:
    activity:int-merge@\pvob  "int-merge"