ClearCase Config_Spec 规则之UCM规则

 

本文欢迎任何非商业转载,要求:转载必须转载全文,并加明作者:崔秉正,出处:http://blog.csdn.net/battle_cry,谢谢!

1.1         UCM规则

一般情况下,不要修改UCM规则,而且ClearCase的公开文档中没有对UCM规则的描述,本文只是作者对UCM规则的试验与理解获得,不保证正确性。

以下是一个UCM 视图的Config_Spec

ucm

identity UCM.Stream oid:9fd98bf2.f8be42ba.90b8.b4: 5c :bd: 2c :8d:66@vobuuid: 3073f 95a .f 08a 45d2.bc05.ea:ff:4e:97:8b:ea 1

 

# ONLY EDIT THIS CONFIG SPEC IN THE INDICATED "CUSTOM" AREAS

#

# This config spec was automatically generated by the UCM stream

# "Only_Comp1_Int" at 2006-4-19 13:17:50.

#

 

 

 

# Select checked out versions

element * CHECKEDOUT

 

# Component selection rules...

element "[ 0a 71c 94ae 2f 74f 80a 1a 7e70ef7722ca1=/Train]/Comp1/..." .../Only_Comp1_Int/LATEST

element "[ 0a 71c 94ae 2f 74f 80a 1a 7e70ef7722ca1=/Train]/Comp1/..." /main/0 -mkbranch Only_Comp1_Int

element "[ 0a 71c 94ae 2f 74f 80a 1a 7e70ef7722ca1=/Train]/Comp1/..." /main/0 -mkbranch Only_Comp1_Int

 

 

end ucm

 

#UCMCustomElemBegin - DO NOT REMOVE - ADD CUSTOM ELEMENT RULES AFTER THIS LINE

 

#UCMCustomElemEnd - DO NOT REMOVE - END CUSTOM ELEMENT RULES

 

# Non-included component backstop rule: no checkouts

element * /main/0 -ucm -nocheckout

 

#UCMCustomLoadBegin - DO NOT REMOVE - ADD CUSTOM LOAD RULES AFTER THIS LINE

 

ucmend ucm标识了UCM规则的开始与结束。在其内的所有规则块的解释都按UCM规则进行。

1.1.1            Inentity UCM.Stream

identity UCM.Stream描述了该视图所attachStream的信息,这样,视图的SetActivityCheckoutChekcin等操作可以关联到Stream上。

identity UCM.Stream格式如下:

identity UCM.Stream streamoid@vobuuid 1

其中Streamoid应用ClearCase内部数据库信息描述,以oid:为头,之后加上了StreamUUIDVobuuidvobuuid:加上PVOBUUID

可以应cleartool describe看一下信息,例如:

Cleartool describe –short  oid:9fd98bf2.f8be42ba.90b8.b4: 5c :bd: 2c :8d:66@vobuuid: 3073f 95a .f 08a 45d2.bc05.ea:ff:4e:97:8b:ea

得到的结果与cleartool describe –short stream:Only_Comp1_Int@/Train_PVOB一致。

在实验中,可以将streamoid@vobuuid替换为Only_Comp1_Int@/Train_PVOB,结果与原UCM 视图显示内容一致。

需要注意在streamoid@vobuuid之后需要加上空格与1,否则会不符合规则,含义不明。

1.1.2            Component选择规则

UCM 视图中,除了应用element * CHECKEDOUT获取当前视图所有Checkout的配置项外,其他配置项都通过Component选择规则获取,每个Component包括三行,可以有多个Component;第一行格式如下:

element “[vobuuid=/VOB tag ]/Component name/…” …/Stream_branch/LATEST

其中vobuuidComponent所在的VOBUUIDVOB tagComponent所在VOB在当前Regiontag,如果是单一ComponentVOB,则没有Component name则是选择当前Component下的所有配置项,包括目录与文件配置项;Stream_branch为当前Stream的名称,因为相应分支名称采用了Stream的名称,因为不知道可能在哪层上创建,所以在前面加上了。该行的目的获取所有在该分支下的配置项。

第二行格式如下:

element “[vobuuid=/VOB tag ]/Component name/…foundation_baseline –mkbranch Stream_branch

如果是集中流,foundation_baselineStream初时创建时所选择的Componentbaseline,如果是开发流,而且从集成流上rebaserecommended baseline,则会是Recommend Baseline;可以用命令cleartool lsstream -l获取流的foundation baselines。该行的目的是匹配所有foundation baseline的配置项,如果Checkout,在baseline选择的版本分支下则自动创建该流的分支。如果在创建Stream时所选择的Component是一个空的Component,则foundation_baseline改为/main/0

第三行的格式如下:

element “[vobuuid=/VOB tag ]/Component name/…” /main/0 –mkbranch Stream_branch

该行的目的是,如果创建新的Element,则会在主分支main下创建一个Stream分支。

1.1.3            其他规则

UCM 视图中可以让用户自行添加一些规则,这就是CustomElem规则,在UCM 视图的Config_Spec中两行注释,在中间可以添加规则,这些不会被自动清除。

#UCMCustomElemBegin - DO NOT REMOVE - ADD CUSTOM ELEMENT RULES AFTER THIS LINE

#UCMCustomElemEnd - DO NOT REMOVE - END CUSTOM ELEMENT RULES

这两行注释置于Component选择规则之后,这样保证了配置项版本优先选择Stream的,在这里需要注意,只能选择 Stream所不涵盖的配置项,因为Component选择规则在先,Stream所涵盖的配置项的版本已被选中,在其后的规则将会被忽略。

UCM 视图的Config_Spec中有以下一行:

element * /main/0 -ucm -nocheckout

这一行保证了不会将已MountVOB下的配置项显示出来,因为/main/0的含义是初始,为空。

在最后是针对静态 UCM 视图的 Load 规则。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值