如何创建分支?
任何人都可以向我解释这些语法吗?
element * /main/LATEST -mkbranch karthik_4
并且假设,如果我的最新版本是6
,但我想在4
创建一个分支,如何完成?
答案 0 :(得分:2)
无法在一个选择规则中创建分支 配置规范背后的想法是ClearCase将尝试按顺序应用每个规则,直到一个适合(然后它停止该元素,文件或目录,并再次按顺序尝试相同的规则集,用于下一个元素 - 文件或目录)。
所以选择规则的以下有序组合将:
LATEST
版本中的所有元素LATEST
版main
,准备在结帐时创建新分支,/main/0
,然后立即分支,以便在新分支中创建版本1:(同样,这三条规则按顺序应用,停在适合的第一条规则,这就是为什么它们按照这种方式排序)
这将在以下配置规范中翻译:
element * .../karthik_4/LATEST
element * /main/LATEST -mkbranch karthik_4
element /main/0 -mkbranch karthik_4
注意:... / karthik_4 / LATEST语法是为了不将karthik_4
分支绑定到main:即使karthik_4
是在{{1}的任何其他分支上创建的main
}(这是.../
的意思),它仍会选择该新分支的最新版本(如果它存在,如果不存在,则ClearCase尝试下一个规则)
创建分支总是涉及3个规则,而不仅仅是一个。
现在,作为you saw earlier,这不会从特定版本(如“4”)创建分支。
它只会在主分支上的LATEST版本中创建一个分支:LATEST称为移位标签:它会在每个新版本自动移动。
您可以为一个文件指定要从中创建分支的确切版本:
element * .../karthik_4/LATEST
element /path/to/myFile /main/4 -mkbranch karthik_4
element * /main/LATEST -mkbranch karthik_4
element /main/0 -mkbranch karthik_4
但是这不容易扩展,因为myFile
旁边的文件可能具有不同的历史记录,其版本4可能是在myFile@@/main/4
(或版本4)之前或之后很久创建的其他文件可能还不存在!)。