我对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
。 但为什么???
配置规范将适用于每一个更新和结算规则,以及对签入(但并不像你认为它会)。
在签入,新版本将在已签出的分支(这里创建branch_1
)。
这个新版本可能不会通过新的配置规格选择 ,但表示新的配置规格在已签出不通过改变分支。
更改branch1
在branch2
而test.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.c
上branch1
)是在做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
但是,如果你的第二个配置规格有关于无规则branch1
, test.c
还是会选择/main/1
:没有上创建的版本branch2
,所以element * /main/LATEST
是可以应用的唯一的规则。