4

This should in theory be quite simple, i.e. merge the changes from a specific UCM activity from one stream to another.

I had thought that I might just be able to use the Deliver command in the GUI and then select just the required activity to deliver, but it seems that the target stream is set to not allow deliveries from other streams.

From searching the documentation it seems that I might instead be able to do this via the command line using the 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 ? Also I'd like to do the merge manually for each affected file, so I would need the graphical merge tool to be invoked if possible.

If someone can give me an example findmerge + whatever command line for merging an activity that would be a great start. Also any other suggestions for how to merge an activity would be welcome.

4

1 回答 1

4

首先,在 UCM 中交付(通常)用于交付所有活动。
您可以尝试只交付一个子集,但您很快就会抱怨“时间线”,它人为地将所有活动链接在一起,迫使您在下一次交付时交付它们(全部)。

findmerge工具,但是从相当稀疏的文档中根本不清楚你是如何做到这一点的。似乎它可能是一个两阶段的过程,即首先生成一个“变更集”然后合并该变更集?

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

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

有关时间线(活动依赖性)和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" 
于 2013-07-17T10:21:41.333 回答