ClearCase:使用旧基线活动创建新基线
在集成流Int中,A1、A2、A3是活动,B1是包括A1、A2、A3活动的基线 (Int流)---A1------A2-----------------A3------[B1]-----------> 我们将部署新版本的软件,我们的项目经理说他没有 希望在此版本的软件中包含A2活动变更集 我们能否在ClearCase中创建只包含A1和A3活动的新基线B2ClearCase:使用旧基线活动创建新基线,clearcase,Clearcase,在集成流Int中,A1、A2、A3是活动,B1是包括A1、A2、A3活动的基线 (Int流)---A1------A2-----------------A3------[B1]-----------> 我们将部署新版本的软件,我们的项目经理说他没有 希望在此版本的软件中包含A2活动变更集 我们能否在ClearCase中创建只包含A1和A3活动的新基线B2 (Int-Stream)---A1--------------------A3------[B2]--------------------->
(Int-Stream)---A1--------------------A3------[B2]--------------------->?否:由于B1存在,所有活动都通过一个通用的“时间线”进行“链接”,ClearCase将要求您也包括A2 一种可能的解决方案是创建一个子流,并仅使用A1和A3创建一个
findmerge
(afindmerge
是一种非UCM合并,仍然可以将UCM活动列表作为输入)
子流的基础基线应为最后一个基线(在IntStream上生成),不包括A1、A2和A3
然后:
该子流扮演“发布流”或“整合流”的角色,该流将包含构建最终发布所需的所有内容
父流(IntStream)继续扮演集成所有开发工作(来自其他子流)的角色
注:
- “pvob”应替换为项目vob的名称(包含所有UCM数据的vob,如项目、流、基线、活动等)
- “
”代表“cleartool”:它是一个ct
(Unix)或别名
(别名的Windows版本:doskey
)doskey ct=cleartool$*
活动相关性:在这种情况下,A3可能有一些基于A2版本的版本
findmerge
命令仅对要合并的变更集(版本列表)使用活动:
更改集中列出的每个版本都将成为合并操作中的起始版本。和往常一样,to版本是您视图中的版本
A3包括A2中所做的更改,最终结果将包括A1、A2和A3更改,除非A1和A3更改是“并发的”(类似行上的更改):在这种情况下,需要执行一个非平凡的合并
由于您不希望进行A2更改,因此,正如您在注释中提到的,您需要使用perl实用程序脚本cset.pl
完成该findmerge
操作:
ccperl cset.pl -undo A2
它将执行“负合并”(或“减法合并”),删除A2的任何更改。否:由于B1存在,所有活动都通过一个通用的“时间线”进行“链接”,ClearCase将要求您也包括A2
一种可能的解决方案是创建一个子流,并仅使用A1和A3创建一个findmerge
(afindmerge
是一种非UCM合并,仍然可以将UCM活动列表作为输入)
子流的基础基线应为最后一个基线(在IntStream上生成),不包括A1、A2和A3
然后:
该子流扮演“发布流”或“整合流”的角色,该流将包含构建最终发布所需的所有内容
父流(IntStream)继续扮演集成所有开发工作(来自其他子流)的角色
注:
- “pvob”应替换为项目vob的名称(包含所有UCM数据的vob,如项目、流、基线、活动等)
- “
ct
”代表“cleartool”:它是一个别名
(Unix)或doskey
(别名的Windows版本:doskey ct=cleartool$*
)
活动相关性:在这种情况下,A3可能有一些基于A2版本的版本
findmerge
命令仅对要合并的变更集(版本列表)使用活动:
更改集中列出的每个版本都将成为合并操作中的起始版本。和往常一样,to版本是您视图中的版本
A3包括A2中所做的更改,最终结果将包括A1、A2和A3更改,除非A1和A3更改是“并发的”(类似行上的更改):在这种情况下,需要执行一个非平凡的合并
由于您不希望进行A2更改,因此,正如您在注释中提到的,您需要使用perl实用程序脚本cset.pl
完成该findmerge
操作:
ccperl cset.pl -undo A2
它将执行“负合并”(或“减法合并”),删除A2的任何更改。是的,我试过了,效果很好。非常感谢。您比IBM Turkey office更有用:)例如,我有一个类似Tree.txt的文件。在A1活动中,我向Tree.txt添加了3行代码,在A2活动中,我向同一文件添加了2行代码,在A3活动中,我添加了5行代码。当我尝试像上面那样执行“findmerge A1 A3”时,合并的Tree.txt文件包含我添加的A1、A2、A3行。我使用了“cset.pl-undo A2”命令,它删除了A2活动中的变更集,因此最终文件只包含A1和A3活动中的行。很有效。是的,我试过了,很有效。非常感谢。您比IBM Turkey office更有用:)例如,我有一个类似Tree.txt的文件。在A1活动中,我向Tree.txt添加了3行代码,在A2活动中,我向同一文件添加了2行代码,在A3活动中,我添加了5行代码。当我尝试像上面那样执行“findmerge A1 A3”时,合并的Tree.txt文件包含我添加的A1、A2、A3行。我使用了“cset.pl-undo A2”命令,它删除了A2活动中的变更集,因此最终文件只包含A1和A3活动中的行。它工作得很好。按请求添加了对“活动依赖性”的注释按请求添加了对“活动依赖性”的注释