Version control 如何创建分支

Version control 如何创建分支,version-control,clearcase,Version Control,Clearcase,如何创建分支? 谁能给我解释一下这些语法吗 element * /main/LATEST -mkbranch karthik_4 假设,如果我的最新版本是6,但我想在4创建分支,那么它是如何完成的?创建分支不能在一个选择规则中完成。 配置规范背后的想法是,ClearCase将尝试按顺序应用每个规则,直到合适为止(然后它停止应用于该元素、文件或目录,并尝试相同的规则集,再次按顺序应用于下一个元素-文件或目录) 因此,以下选择规则的有序组合将: 显示新分支的最新版本中的所有元素 或者,如果还

如何创建分支?
谁能给我解释一下这些语法吗

element  * /main/LATEST -mkbranch karthik_4 

假设,如果我的最新版本是
6
,但我想在
4
创建分支,那么它是如何完成的?

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

因此,以下选择规则的有序组合将:

  • 显示新分支的
    最新版本中的所有元素
  • 或者,如果还没有新分支,将显示
    main
    最新版本,以便在签出时创建新分支
  • 或者,如果这是一个全新的元素(“添加到源代码管理”),将创建一个版本
    /main/0
    ,然后立即分支,以便在新分支中创建版本1:
(同样,这3条规则是按顺序应用的,在第一条合适的规则处停止,这就是为什么它们是按顺序应用的)

这将在以下配置规范中转换:

element * .../karthik_4/LATEST
element * /main/LATEST -mkbranch karthik_4 
element /main/0 -mkbranch karthik_4
注意:…/karthik_4/最新语法是为了不将
karthik_4
分支绑定到main:即使
karthik_4
是在
main
的任何其他分支上创建的(这就是
..//code>的意思),它仍然会选择该新分支的最新版本(如果存在,如果不存在,ClearCase将尝试下一个规则)

创建分支总是涉及3条规则,而不仅仅是一条

现在,正如所示,这不会从特定版本(如“4”)创建分支。
它只会在主分支上的文件的最新版本的任何版本上创建分支:最新被称为移位标签:它会在每个新版本上自动移位

您可以为一个文件指定要从中创建分支的确切版本:

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!)