否:由于 B1 存在,所有活动都通过一个共同的“时间线”“链接”,ClearCase 会要求您也包括 A2。
一种可能的解决方案是创建一个子流,并findmerge
仅使用 A1 和 A3制作 a
(findmerge
a 是非 UCM 合并,仍然可以将 UCM 活动列表作为输入)
子流的基金基线应该是最后一个基线(在 IntStream 上产生) ,不包括 A1、A2 和 A3。
然后:
ct findmerge activity:A1@\pvob activity:A3@\pvob -fcsets -c "report for delivery" -merge -gmerge
该子流扮演“发布流”或“整合流”的角色,这是一个包含构建最终版本所需的所有内容的流。
父流(IntStream)继续扮演整合所有开发工作(来自其他子流)的角色
笔记:
- “pvob”是指用你的项目vob的名称替换(包含所有UCM数据的vob,如项目、流、基线、活动......)
- “
ct
”代表“cleartool”:它是一个alias
(Unix)或一个doskey
(Windows 版本的别名doskey ct=cleartool $*
:)
活动依赖:在这种情况下,A3 可能有一些基于 A2 版本的版本。
findmerge
命令仅将活动用于changeset
要合并的(版本列表):
变更集中列出的每个版本都成为合并操作中的源版本。与往常一样,to-version 是您认为的版本。
A3 包括在 A2 中所做的更改,最终结果将包括 A1、A2 和 A3 更改,除非 A1 和 A3 更改是“并发的”(类似行上的更改):在这种情况下,需要执行非平凡的合并.
由于您不希望 A2 更改,正如您在评论中提到的那样,您需要findmerge
使用 perl 实用程序脚本完成该操作cset.pl
:
ccperl cset.pl -undo A2
它将执行“负合并”(或“减法合并”),删除 A2 的任何更改。