如何创建分支

时间:2011-07-05 09:36:38

标签: version-control clearcase

如何创建分支?
任何人都可以向我解释这些语法吗?

element  * /main/LATEST -mkbranch karthik_4 

并且假设,如果我的最新版本是6,但我想在4创建一个分支,如何完成?

1 个答案:

答案 0 :(得分:2)

无法在一个选择规则中创建分支 配置规范背后的想法是ClearCase将尝试按顺序应用每个规则,直到一个适合(然后它停止该元素,文件或目录,并再次按顺序尝试相同的规则集,用于下一个元素 - 文件或目录)。

所以选择规则的以下有序组合将:

  • 显示新分支的LATEST版本中的所有元素
  • 或者,如果还没有新的分支,将显示LATESTmain,准备在结帐时创建新分支,
  • 或者,如果这是一个全新的元素(“添加到源代码控制”),将创建一个版本/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)之前或之后很久创建的其他文件可能还不存在!)。