科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件ClearCase Config_Spec 规则之UCM规则

ClearCase Config_Spec 规则之UCM规则

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

ClearCase 的View中的Config_Spec如何定义UCM视图。

作者:呐喊 来源:CSDN 2008年3月24日

关键字: Config_Spec 规则 项目管理 ClearCase

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共19页)

1.1         <!--[endif]-->UCM规则

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

以下是一个UCM 视图的Config_Spec

ucm

identity UCM.Stream oid:9fd98bf2.f8be42ba.90b8.b4:5c:bd:2c:8d:66@vobuuid:3073f95a.f08a45d2.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 "[0a71c94ae2f74f80a1a7e70ef7722ca1=\Train]/Comp1/..." .../Only_Comp1_Int/LATEST

element "[0a71c94ae2f74f80a1a7e70ef7722ca1=\Train]/Comp1/..." /main/0 -mkbranch Only_Comp1_Int

element "[0a71c94ae2f74f80a1a7e70ef7722ca1=\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规则进行。

<!--[if !supportLists]-->1.1.1            <!--[endif]-->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:3073f95a.f08a45d2.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,否则会不符合规则,含义不明。

<!--[if !supportLists]-->1.1.2            <!--[endif]-->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分支。

<!--[if !supportLists]-->1.1.3            <!--[endif]-->其他规则

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规则。
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章