分享
 
 
 

ClearCase Config_Spec 之版本选择规则

王朝other·作者佚名  2006-08-18
窄屏简体版  字體: |||超大  

本文欢迎任何非商业转载行为,要求:转载必须转载全文,并加明作者,出处,谢谢!

标准版本选择规则的格式如下:

scope pattern version-selector [ optional-clause ]

一行可以有多个标准规则,以分号间隔。

所有scope均为针对配置项,所以都以element开始,可以设置-file、-directory与-eltype参数。

如果element不包括任何参数,则之后的pattern verion-selector [ optional-clause ]对任何配置项都有效,-file、-directory分别只对文件配置项、目录配置项起作用;-eltype后与指定的配置项类型有一空格间隔,例如:–eltype text_file,表明之后的匹配规则只对text_file类型的配置项起作用;如果一个eltype包括一些一些子eltype,只对本eltype有效,例如:-eltype file不对text_file类型配置项有效。

pattern为配置项匹规则,可以以下使用通配符:

a) ? 匹配任何符合命名规则的单个字符,例如:a?c,则可以匹配a1c,aAc与a.c,等,但是不匹配ac、与a\c。

b) * 匹配0至符合命名规则最大长度的任何符合命名规则的字符,这些字符不必一致,与?不同的是,*可以匹配0个字符,例如:*src*,匹配TheSrc,src1,src。

c) ~ 对应根目录。

d) [abc] 对应[]内的任何一个字符,例如:C*[gs].java,匹配Config.java与Constants.java。

e) [a-z] 对应[]内ASCII编码位于-之前字符与-之后字符之间的一个字符,包括-之前与之后的各个字符,例如:t[a-e]st匹配tast、tbst、tcst、tdst与test。

f) … 匹配0至符合规则要求的任意多层目录,例如:src/…/Config.java,匹配以下配置项:

src/com/Config.java

src/com/test/Config.java

src/Config.java

如果匹配规则为src/…,则包括src目录及它所有的子目录。

以上通配符可以组合,例如:匹配符 src/…/C[a- z][A-Z].java匹配以下配置项:

src/com/CaA.java

src/com/test/CoT.java

Version-selector描述了针对配置项的版本选择规则,有以下三种版本选择规则:

a) 分支名称加版本号:如/main/0,就表示main分支上版本0,这是一个空的版本,而/main/test/1则表示了main分支下test分支下的第1个版本。

b) 分支名称加Label:如/main/test/MyLabel2,则寻找的是所有main/test分支下被打上MyLabel2的配置项的版本。也可以只有Label,则会寻找所有分支上被打上该Label的配置项的版本,如果在多个分支上同一个配置项有多个版本打上了该Label,则会出现错误。例如:有一个预定义的LABEL:LATEST,/main/LATEST是表明main分支上的最新的版本,但是LATEST并不是版本号,而是预定义的Label,每个分支的最新版本都具有这个 Label;这里就要注意,不能应用 …/LATEST,这表明选择所有分支上最后的版本,会发生冲突,如果在你的config_spec中出现以上版本选择规则,一般情况下会报出一个view server的致命错误。

c) 分支名称加上查询选项:如/main/test/{TESTED==yes},寻找的是在main/test分支下最后一个TESTED属性为yes的版本。与Label一样,也可以只有查询选项,但是也一样要求不能出现冲突。

在Version-selector中的几个特殊的规则:

a) CHECKEDOUT:匹配当前视图被Checkout的版本,如果是文件配置项,则是与配置项名称相同的视图私有文件。

b) –config:匹配由clearmake或omake生成的Derived Objects,可以指定不同版本的配置项所对应的不同的Derived Objects。

c) –none:这个匹配规则主要是针对Unix操作系统,在Windows下设置了,如果不应用cleartool ls,则不会发现配置项的存在,而在UNIX系统下,会产生一个ENOENT(没有这样的文件或目录)的错误。应用cleartool ls会提示:[no version selected]。

d) –error:这个匹配规则与上一个一样是针对Uni操作系统的;应用cleartool ls会提示:[error on reference]。

最后是可选项:optional-clause。包括以下可选项:

a) –time:这个可选项的应用一定要在Version-selector中有LATEST这个标签才有效,如果没有这个标签,则不会提示错误,但是也不会起作用。

-time后要加上日期与时间,表示从LATEST向上查找,找到一个最近一个从指定日期与时间之后创建的版本,如果在指定的日期和时间时配置项还不存在,则不会给出初始空版本,而是匹配LATEST版本。

日期与时间的格式如下:

date.time | date | time | now

以上因项是互斥的,可以在后面加上UTC,这样时间为格林威治标准时间,可以避免时区的影响。如果没有指定日期,则缺省设置为today;如果没有指定时间,则缺省设置为00:00:00。需要注意,日期在执行完setcs就自动转变为标准日期,如果设置为today,同一个视图没有执行endview操作,一周以后,匹配规则找的是前一周时间的版本,而不是最近的版本,所以如果设置了-time选项,且应用了today等方式设置日期,最好执行endview后再执行startview,这时会重新设置日期。

以下是日期与时间的规则。

date :=day-of-week | long-date

time :=h[h]:m[m][:s[s]] [UTC [ [ + | - ]h[h][:m[m] ] ] ]

day-of-week :=today |yesterday |Sunday | ... |Saturday |Sun | ... |Sat long-date :=d[d]–month[–[yy]yy]

month :=January |... |December |Jan |... |Dec

例如:...\Config.java /main/Only_Comp2_Int/LATEST -time 10:00,匹配的是最近一次设置Config_Spec或StartView当天10:00以后main主分支下Only_Comp2_Int分支下任何Config.java的第一个版本。

Time中now是一个特殊格式,指定的当前时间。

b) –nocheckout:所选择的配置项不显示Checkout版本,所对应的配置项的规则必须位于element * CHECKEDOUT的上面,如果第一行是element * CHECKEDOUT,则-nocheckout设置无效;可以删除lement * CHECKEDOUT,也可以修改element * CHECKEDOUT,不再匹配任何配置项。如果配置项确实有checkout的版本,则会在视图提示Eclipse,即有checkout状态的配置项,但是不能显示。

c) –mkbranch:如果一个匹配前面版本选择规则的配置项的版本被Checkout时,自动建立配置项的指定分支。格式如下:

-mkbranch

branch-type-name

需要注意,这里的

branch-type-name必须在VOB中已经定义,如果没有定义会出现错误,无法执行Checkout操作。同时对版本选择规则为-none或-error的不起作用。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有