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
?如果我们不使用它会发生什么?
答案 0 :(得分:1)
/test_ari/karthik/...
这意味着后面的选择规则(即.../karthik_omna/LATEST
)将递归地应用于karthik
目录以及所有子目录和文件。
如果选择路径为/test_ari/karthik/*
(星号而不是三个点),则选择规则将应用于子目录和文件,但不应用于karthik
目录本身< / p>
.../karthik_omna/LATEST
这是一条选择规则,指示ClearCase选择分支karthik_omna
的最新版本,而不必担心已创建其他分支karthik_omna
。
如果选择规则已经(例如)/main/karthik_omna/LATEST
,则仅当所述分支在“{{1”之上创建时,它才会选择该分支的LATEST
版本}}”。
与之前的“main
”相反,选择规则没有“...
”
(*
不存在)
正如我在“How to create a branch”中所解释的那样,选择规则按顺序读取,第一个适合使ClearCase应用它(并忽略其他的)特定文件或目录。
这就是为什么你总能找到:
*/karthik_omna/LATEST
作为第一条规则,因为当您通知ClearCase您有意修改该文件时,它(文件)会获取一个名为element * CHECKEDOUT
的特殊版本,需要选择该版本以便您能够修改然后签入该文件。
如果该规则在下面太远,ClearCase可能会选择另一个版本,并且您将无法签入任何内容,因为您的视图中不会将该文件视为已签出。