1.给以前的工作打上标签,clearcase->apply label按照提示建立标签
2.建立一个分支代号
Types Explore中,选择branch type,进去以后,右键--〉Create...写上你要创建的branch名称,加上必要的注释,就创建了属于这个VOB的Branch了。
3.建一个分支的view,编辑分支的config spec,格式如下:
第一种写法:
element * CHECKEDOUT
element * /main/分支代号/LATEST
element * 标签名称 -mkbranch 分支代号
element * 标签名称
element * /main/LATEST
load \vob名称\vob下文件夹的位置
相应的简单的解释:
第一句:表示选择被 Checkout 的元素的版本;这一句总是在最前面;
最后一句:表示选择元素的main 主干分支的最新版本。
当我们通过"Add to Source Control"将文件或者目录放入到VOB 中时,就会成为VOB
库中的元素,VOB 的含义是 Version Object Base,其中的元素是具有版本的概念,总会有一个main 的主干,可以让大家在做check
in 的时候,在main 上形成一个个的版,所以本语句可以看作是一个垃圾收集器。总是能够看到元素的main 分支上的最新内容。
这里需要注意的一点就是:如果你的视图下有好几个VOB,你要保证这些VOB 中都有VER1.00 的label type
(VOB 中没有label 类型,无法该VOB 中的元素附加该label 实例),在创建VOB 的时候,我们可以指定label
是Global 的范围,属于同一个管理VOB 下的所有子VOB 将存在这样的label。
第二种写法:
element * CHECKEDOUT
element * /main/dev_branch/LATEST
element * /main/LATEST -mkbranch dev_branch
element * /main/LATEST
对应的解释:
第一句,找被Checkout 的版本;
第二句,找main 主干下的dev_branch 分支上的最新版本;
第三句,找主干上的最新版本;如果元素被Check Out 的话,会触发在元素的最新版本上创建dev_branch。因为创建元素的分支是对元素的修改,必须要被做Check
Out 的时才会触发。然后会重新对该元素解释运行Config Spec 的内容。此时视图将选择/main/dev_branch
分支上的被CheckOut 的版本。如果该分支上被Check Out 的元素版本被Check In 的话,视图将选择/main/dev_branch分支上的最新版本,也就是第二句规则的运用结果。(顺便提醒一下,dev_branch
的分支类型应该
被事先创建)。
当修改视图的Config Spec 成例子一的情形后。可以使用ClearCase 的复合命令来为某个VOB下(假定VOB
为TRYIT_VOB)的所有元素做一次Check Out 的操作,然后再Check In 将为所有元素产生dev_branch
的分支。让使用该视图Config Spec 在dev_branch 分支下进行工作。参考命令为:
cleartool find Z:\TRYIT_VOB -exec "cleartool checkout -nc
%CLEARCASE_PN%"
关于ConfigSpec
较多情况下,ConfigSpec 中的每一个语句分为三个部分:
第一部分,元素类型选择部分,我们几乎始终使用Element;
第二部分,作用域(或者模式匹配),我们常用"*"来匹配所有的元素路经,另外还有比较多见的是,用类似于"\CC_TEST\train_folder\..."来匹配所有的目录路经的前部分,也就是限定特定的目录下的内容。另外"*.txt"
"\CC_TEST\test.txt"等等之类也是可以的,但是很少如此用。
第三部分,就是版本选择。比如当我们在元素的版本上附加了标签REL2 后,我们可以用REL2 来作为版本选择的依据,另外如".../mybranch/LATEST"表示选择mybranch
分支下的最新版
本,不管该分支建立的位置情况,"..."(三个点),表示一种模式匹配,比如
/main/mybranch/LATEST
/main/testbranch/mybranch/LATEST
都可以用".../mybranch/LATEST"表示和匹配。