在我拥有的一个基本清除案例项目中,交给我的配置规范如下所示:
element * CHECKEDOUT
element * .../PROJ_1.5.0/LATEST
element * .../main/LATEST -mkbranch PROJ_1.5.0
element * /main/LATEST
我在他的指南中读到了一些配置规范:http://www.philforhumanity.com/ClearCase_Support_17.html在我看来,在我的配置规范中,最后一行没有任何值。因为element * /main/LATEST
已经在倒数第二行了。我的理解正确吗?
最后一行是一个选择规则stopper:如果所有其他规则都失败,它将始终被选中
(这是因为对于ClearCase中添加到源代码管理的每个元素,总是有一个名为main
的分支——除非您重命名它,但这是罕见的——并且总是至少有一个版本0
——占位符)
所以拥有它是很重要的。
假设一个目录根本没有被选择(通过任何其他规则),那么所有目录内容都将是不可见的,即使子目录及其内容可能是通过其中一个规则选择的
但是使用element * /main/LATEST
,您可以确保所有元素都将在您的规则选择的版本中可见,或者默认情况下,在/main/LATEST
中可见。
也就是说,重新阅读您的配置规范,您可以将最后两行替换为:
element * /main/LATEST -mkbranch PROJ_1.5.0
.../main/LATEST
毫无意义:它的意思是"main来自任何其他分支",这不是你在正常配置规范中看到的:所有其他分支都来自main,而不是相反。
因此,使用最后一条规则,您不仅可以确保看到所有元素,而且如果签出它们,您将创建并进入分支PROJ_1.5.0
。
如果您不想看到分支上不存在的main/LATEST文件,请使用
element -directory * /main/LATEST
然后,只有main/LATEST中的目录和分支中的文件可见。