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

4

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

我曾经想过只需在GUI中使用"Deliver"命令,然后仅选择要传送的活动,但似乎目标流设置为不允许从其他流传送。

从搜索文档来看,我似乎可以通过使用findmerge工具通过命令行完成此操作,但是文档非常简洁,不太清楚如何做。看起来可能是一个两阶段的过程,即首先生成一个“变更集”,然后合并该变更集?另外,我想手动合并每个受影响的文件,所以如果可能,需要调用图形化合并工具。

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

1个回答

4
首先,在UCM中交付通常是交付所有活动。
你可以尝试仅交付子集,但很快就会遇到“时间轴”的问题,这些人工地将所有活动链接在一起,在下一个交付期间强制你交付它们(全部)。

findmerge 工具可以实现此功能,但从相当稀疏的文档中并不清楚如何操作。似乎可能是一个两阶段的过程,即首先生成“变更集”,然后合并该变更集?

cleartool findmerge activity: 是非UCM方式将流(实际上是分支)中与活动相关的所有版本合并到另一个分支的方法。

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

请参见“ClearCase:使用旧的基线活动创建新的基线”以了解时间轴(活动依赖项)和findmerge的更多信息。
此内容在技术说明 swg21267316中有记录:
解决方法:
从目标视图开始:
将其设置为一个活动(setact)或创建一个新活动(mkact)。此活动与通常在交付期间使用/创建的集成活动相同。它允许您:
检查合并后的文件。
使用以下格式运行 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" 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接