理论上这应该非常简单,即将特定 UCM 事件的更改从一个流合并到另一个流。
我曾以为我可能只能在 GUI 中使用“交付”命令,然后仅选择要交付的所需事件,但目标流似乎被设置为不允许从其他流进行交付。
通过搜索文档,我似乎可以使用 findmerge 工具通过命令行来执行此操作,但从相当稀疏的文档中根本不清楚如何执行此操作。看起来这可能是一个两个阶段的过程,即首先生成一个“变更集”,然后合并该变更集?另外,我想对每个受影响的文件手动进行合并,因此如果可能的话,我需要调用图形合并工具。
如果有人能给我一个示例findmerge
+任何用于合并事件的命令行,那将是一个很好的开始。此外,欢迎任何有关如何合并事件的其他建议。
最佳答案
首先,UCM 中的交付(通常)是为了交付所有事件。
您可以尝试仅交付一部分,但您很快就会提示“时间线”,它人为地将所有事件链接在一起,迫使您在下一次交付时交付它们(全部)。
findmerge
tool, but it's not at all clear from the rather sparse documentation how you do this. It seems like it might be a two stage process, i.e. first generate a "changeset" then merge that changeset ?
cleartool findmerge activity:
是将事件引用的所有版本从流(实际上是这里的分支)合并到另一个分支的非 UCM 方式。
ct findmerge activity:A1@\pvob activity:A3@\pvob -fcsets -c "report for delivery" -merge -gmerge
有关时间线(事件依赖项)和 findmerge
的更多信息,请参阅“ClearCase : Making new baseline with old baseline activities ”。
这记录在 technote swg21267316 中:
解决方法:
From the target view:
Set to an activity (
setact
) or create a new activity (mkact
). This activity is just like the Integration activity normally used/created during a deliver. It allows you to:
- 检查合并后的文件。
- 使用以下格式运行 findmerge:
cleartool findmerge 事件选择器... -fcsets [-gmerge | -合并]
- 根据需要合并文件
- checkin 合并的文件
示例:
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"
关于clearcase - 如何将特定 UCM 事件的更改从一个 ClearCase 流合并到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17696906/