Clearcase: Activity dependencies for integration s

2020-04-19 09:45发布

We have a patch model where we're intending on using cset.pl -findmerge <activity> to selectively merge cumulative activities to a patch stream (integration stream to integration stream). Note that we're using a single stream model; although support for teams working with their own dev stream would be supported (i.e. when they join a project they would be working with the integration by default).

However there's the issue of activity dependencies we're trying to solve.

So say you have integration stream A,

file a.txt    
-> Change 1 (baselined ReleaseA)-> Change 2 -> Change 3  

fileb.txt  
-> Change 1 (baselined ReleaseA)-> Change 2

an integration stream B and the config. manager decides they want to include "Change 3" in a new patch (patch integration stream - integration stream C).
They perform a cset.pl fetchmerge against Change 3 (which includes changes for Change 2).
Change 2 for fileb does not get picked up so the issue is identifying these activity dependencies.

Anyone have any ideas?

标签: clearcase
3条回答
Root(大扎)
2楼-- · 2020-04-19 09:55

Had to use a variety of cctool commands to view current version in view and pushed it into a script to get a list of activity dependencies

查看更多
Rolldiameter
3楼-- · 2020-04-19 10:03

Note (in addition to sateesh's answer), a deliver -act Chaange3 (instead of a findmerge) would list Change2 and Change1 as activities to include in your deliver.
It would pick up on those dependent activities, probably following an algorithm close to the one described by sateesh.

See "About activity dependencies in the deliver operation"

alt text http://publib.boulder.ibm.com/infocenter/cchelp/v7r0m0/topic/com.ibm.rational.clearcase.hlp.doc/cc_main/images/deliver_depnd.gif

查看更多
够拽才男人
4楼-- · 2020-04-19 10:10

If Change3 is a rebase/deliver activity you can use

%ct lsact -contrib Change3
to get a list of contributing activities and then traverse any of the rebase/deliver activites listed as contributing activities to trace if any of them has Change2 as the contributing activity.

Also assuming that the foundation baseline for the patch stream is the one used for RelaseA,shouldn't you need to list activities from Change1 onwards when you do the merge ?

i.e shouldn't your findmerge invocation be something like

%findmerge ... Change2,Change3 -fcsets ...

查看更多
登录 后发表回答