扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:呐喊 来源:CSDN 2008年3月24日
关键字: Config_Spec 规则 项目管理 ClearCase
在本页阅读全文(共19页)
一般情况下,不要修改UCM规则,而且ClearCase的公开文档中没有对UCM规则的描述,本文只是作者对UCM规则的试验与理解获得,不保证正确性。
以下是一个UCM 视图的Config_Spec:
ucm
identity UCM.Stream oid:9fd98bf2.f8be42ba.90b8.b4:
# 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 "[
element "[
element "[
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
ucm与end ucm标识了UCM规则的开始与结束。在其内的所有规则块的解释都按UCM规则进行。
identity UCM.Stream描述了该视图所attach的Stream的信息,这样,视图的SetActivity、Checkout、Chekcin等操作可以关联到Stream上。
identity UCM.Stream格式如下:
identity UCM.Stream streamoid@vobuuid 1
其中Streamoid应用ClearCase内部数据库信息描述,以oid:为头,之后加上了Stream的UUID。Vobuuid以vobuuid:加上PVOB的UUID。
可以应cleartool describe看一下信息,例如:
Cleartool describe –short oid:9fd98bf2.f8be42ba.90b8.b4:
得到的结果与cleartool describe –short stream:Only_Comp1_Int@\Train_PVOB一致。
在实验中,可以将streamoid@vobuuid替换为Only_Comp1_Int@\Train_PVOB,结果与原UCM 视图显示内容一致。
需要注意在streamoid@vobuuid之后需要加上空格与1,否则会不符合规则,含义不明。
在UCM 视图中,除了应用element * CHECKEDOUT获取当前视图所有Checkout的配置项外,其他配置项都通过Component选择规则获取,每个Component包括三行,可以有多个Component;第一行格式如下:
element “[vobuuid=\VOB tag ]/Component name/…” …/Stream_branch/LATEST
其中vobuuid为Component所在的VOB的UUID,VOB tag为Component所在VOB在当前Region的tag,如果是单一Component的VOB,则没有Component name;…则是选择当前Component下的所有配置项,包括目录与文件配置项;Stream_branch为当前Stream的名称,因为相应分支名称采用了Stream的名称,因为不知道可能在哪层上创建,所以在前面加上了…。该行的目的获取所有在该分支下的配置项。
第二行格式如下:
element “[vobuuid=\VOB tag ]/Component name/…” foundation_baseline –mkbranch Stream_branch
如果是集中流,foundation_baseline为Stream初时创建时所选择的Component的baseline,如果是开发流,而且从集成流上rebase了recommended 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分支。
在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
这一行保证了不会将已Mount的VOB下的配置项显示出来,因为/main/0的含义是初始,为空。
在最后是针对静态UCM视图的Load规则。如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者