2011-07-06 144 views
1
element * CHECKEDOUT 
element /test_ari/karthik/... ... /karthik_omna/LATEST 
element /test_ari/karthik/... /main/2 -mkbranch karthik_omna 
element * /main/LATEST 

我已经写了上面的代码,它的工作如此正确。我为此感到高兴,但我想清除你们的一些东西。这是什么3点在这句法下面的代码是什么意思?

/test_ari/karthik/... 

和其他3个点的意思是指

... /karthik_omna/LATEST 

而最后一个问题,但它得到了重视。为什么我们在开始时总是使用* CHECKEDOUT?如果我们不使用它,会发生什么?

回答

1
/test_ari/karthik/... 

这意味着,接下来的选择规则(即.../karthik_omna/LATEST)将适用于karthik目录,以及所有的子目录和文件,递归。
如果选择的路径已经(三个点的明星,而不是)/test_ari/karthik/*,选择规则会应用到子目录和文件,但karthik目录本身


.../karthik_omna/LATEST 

这是指示ClearCase选择分支karthik_omna的最新版本的选择规则,而不用担心已经创建了其他分支karthik_omna
如果选择规则是(例如)/main/karthik_omna/LATEST,那么只有当表示分支创建在'main'之上时,它才会选择该分支的LATEST版本
与前面的'...'相反,对于选择规则,不存在'*'。
*/karthik_omna/LATEST不存在)


正如我在“How to create a branch”解释说,选择规则,以便与适合做ClearCase的应用它的第一个特定文件读取(而忽略其他)或目录。

这就是为什么你总是会发现:

element * CHECKEDOUT 

的第一条规则,因为当你通知你的意图的ClearCase修改该文件,它(文件)获得了一个名为CHECKEDOUT特殊版本,它需要以便您能够修改并签入该文件。
如果该规则太低,ClearCase可能会选择其他版本,并且您将无法签入任何内容,因为该文件在您的视图中不会被视为签出。

+0

谢谢你冯c你让我完全清楚,但不明白这些语法/ test_ari/karthik/*你的意思是它不适用于karthik目录的文件,但它的子目录的文件对吗?/test_ari/karthik ...这些也适用于karthik目录的文件对不对? – cody

+0

@cody:是的,这是正确的。使用'*'时,单独的'karthik'目录必须通过以下其他一些规则来选择。 – VonC

相关问题