ClearCase中配置规格(Config spec in ClearCase)

2019-08-23 01:15发布

我对ClearCase的细小问题。 请帮帮我! 什么时候配置规范开始工作? 当我点击CHECK OUT或检查? 我有test.c ,我有配置规范

element * CHECKEDOUT
element * .../branch_1/LATEST
element * /main/LATEST -mkbranch branch_1

然后我修改test.c ,然后我改变配置规格:

element * CHECKEDOUT
element * .../branch_2/LATEST
element * /main/LATEST -mkbranch branch_2

然后我检查test.c ,我有:创建/main/branch_1/1 。 但为什么???

Answer 1:

配置规范将适用于每一个更新和结算规则,以及对签入(但并不像你认为它会)。

在签入,新版本将在已签出的分支(这里创建branch_1 )。
这个新版本可能不会通过新的配置规格选择 ,但表示新的配置规格在已签出不通过改变分支。

更改branch1branch2test.c 签出(在branch1 )不会改变任何东西。 这将在检查中branch_1

现在,您将创建一个版本branch1上签了test.c (即使你的第二个配置规范),你需要认识到,未来所有的结账/签到将于对于同一个分支test.c ,这是因为:

  • 规则element * branch_1/LATEST将保持新版本的分支
  • 规则element * /main/LATEST -mkbranch branch_2仅适用于版本从主签出(与test.c的不再是/main ,它是在branch1/main/branch1

这种配置规范将确保所有新版本(第一签后test.cbranch1 )是在做branch2

element * CHECKEDOUT
element * .../branch_2/LATEST
element * ../branch_1/LATEST  -mkbranch branch_2
element * /main/LATEST -mkbranch branch_2

规则的顺序很重要,因为这可以适用“赢”(即pothers被忽略)的第一个。
看到在配置规范的本具体例中“ 配置规范从2个分支显示标示为文件 ”。


需要注意的是第一签后test.c ,你会得到上创建的新版本branch1 ,如前所述。

然而,你的第二个配置规范将选择/main/1 ,不/main/branch1/1

这是因为在你的第二个配置规格不正确的规则:

element * branch_1/LATEST

这个人会选择正确的版本:

element * .../branch_1/LATEST

但是,如果你的第二个配置规格有关于无规则branch1test.c还是会选择/main/1 :没有上创建的版本branch2 ,所以element * /main/LATEST是可以应用的唯一的规则。



文章来源: Config spec in ClearCase