clearcase配置规范选择两个标签的更大版本

时间:2014-11-05 13:35:52

标签: version config clearcase

我正在尝试制作一个Clearcase配置规范,当该文件有我想要的2个标签时,它将根据更大的修订号选择文件。

实施例: file1.c; rev 1 ---> PR438 file1.c; rev 2 file1.c; rev 3 ---> PR433

"基本"配置规范:

element * PR438 element * PR433

会选择file1.c; rev1,因为此标签首先在配置规范中指定。

我想要的是选择file1.c; rev 3,无需分析每个文件的标签顺序,以正确订购配置规范。

基本上,我想要一个规则,说选择PR438和PR433,如果文件有两个标签,请使用具有最高版本号的文件。

2 个答案:

答案 0 :(得分:0)

  

基本上,我想要一个规则,说选择PR438和PR433,如果文件有两个标签,请使用具有最高版本号的文件。

这不是how a config spec uses selection rules

如果这些标签的命名惯例已正确完成,则最高(最新)版本将始终为PR438
这意味着首先选择PR438,然后选择PR433作为后备就足够了。

您可以尝试选择具有两个标签的第一个版本 即使config spec syntax没有指定AND或OR运算符,也就是:

element * {lbtype(PR438)&&lbtype(PR433)}

答案 1 :(得分:0)

这是一种蠕虫病毒。在这种情况下,如果NEWER标签附加到OLDER版本,则无法使用标签类型的年龄来解决问题。您正在徘徊于"创建特定于文件的配置"境。

所以,你必须从这样的输出开始:

cleartool find -all -version "lbtype(PR438) || lbtype(PR433)" -print

从那里,你必须

  1. 解析它以找到所有重复的元素名称(剥离版本ID' s)
  2. 获取重复文件的更高版本
  3. 根据标签将那些从SECOND行开始的版本设置为configspec(除非您没有检查这些文件,否则,"元素* CHECKEDOUT"行isn&# 39,无论如何都很重要。
  4. 既然你已经走了这条路,你也可以完全基于find输出构建configspec。但这可能变得笨拙且难以理解。