在clearcase中,我开始处理一个名为main/release4/release5
的分支。在我开始工作后,release4被合并到main中。我的同事们开始了main/release5的工作。我是否可以将我的main/release4/release5
工作转移到main/release5
?
到目前为止,我已经尝试过从main/release4/release5
合并到main/release5
,但没有成功。文件保留在main/release4/release5
上。
版本树中的可视化示例:
main
|
| release 4
| /
main release 5
release 5 *move files from here
*to here
这是我使用的原始配置规范。
element * CHECKEDOUT
element - directory * /main/LATEST
element * /main/release4/release5/LATEST
element * /main/release4/LATEST -mkbranch release5
element * /main/LATEST -mkbranch release4
以下是我的同事在将release 4与主线合并后开始的配置规范
element * CHECKEDOUT
element - directory * /main/LATEST
element * main/release5/LATEST
element * main/LATEST -mkbranch release5
那些以branchname/LATEST -mkbranch newBranch
结尾的选择规则的想法是允许元素(文件或目录)从任何最新版本开始新分支,除非所述newbranch
上已经有版本。
所以它是一个逐文件的机制。
为了确保从版本4开始的所有文件都合并到main中,在合并后立即在main/LATEST
的所有元素上贴上标签(最好使用用于所述合并的snapshot视图),然后使用配置规范,如:
element * CHECKEDOUT
element * .../release5/LATEST
element * REL4 -mkbranch release5
element * main/LATEST -mkbranch release5
从固定标签启动分支比从/main/LATEST
(可以随时看到新版本)启动分支更安全
OP Gregory Peck评论:
使用
.../release5/LATEST
修复了它!
"三点"语法之所以有效(如"特定分支上文件的clearcase最新版本"所示),是因为某些版本的分支从release4
分支开始,而不是从main
开始。
使用.../release5/LATEST
,无论release5
从哪个分支开始,都可以选择release5
中的LATEST
。