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



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

示例: 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,如果一个文件同时具有这两个标签,则使用修订号最高的文件。

基本上,我想要一个规则,即选择PR438和PR433,如果一个文件同时具有这两个标签,则使用修订号最高的文件。

配置规范不是这样使用选择规则的。

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

您可以尝试的是选择同时具有两个标签的第一个版本
即使配置规范语法没有指定AND或or运算符,也应该是:

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

这是一个蠕虫罐头。在这种情况下,如果NEWER标签附加到OLDER版本,则不能使用标签类型的年龄来解决问题。您正在进入"创建特定于文件的配置规范"领域。

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

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

从那里,你将不得不

  1. 解析它以定位所有重复的元素名称(去掉版本ID)
  2. 获取重复文件的更新版本
  3. 将那些从第二行开始的版本放在基于标签的配置规范中(除非你同意不签出这些文件,在这种情况下,"element*CHECKEDOUT"行并不那么重要

由于您已经走了这么远,您还可以完全基于find输出构建configspec。但这可能会变得难以理解。

最新更新