如何在 clearcase 中撤消分支上的合并?
How do I undo mergeouts on a branch in clearcase?
背景
我处于这样一种情况,为了干净地提升代码,具有一定数量的视图必须以协调的方式分支:
/some/dir/here@@/main/dev/view_dev__456_textDescription
/some/dir/here/file.txt@@/main/dev/view_dev__456_textDescription
/some/dir/here@@/main/dev/prod1/view_prod1_dev__456_textDescription
/some/dir/here/file.txt@@/main/dev/prod1/view_prod1_dev__456_textDescription
某个产品的每个视图都必须从其产品分支中分支出来。
问题
我不小心创建了一个特定于产品的视图,但不在开发分支中。下面是我现在的情况:
/some/dir/here@@/main/dev/view_dev__456_textDescription
/some/dir/here/file.txt@@/main/dev/view_dev__456_textDescription
/some/dir/here@@/main/dev/view_prod1_dev__456_textDescription <-- The erroneous branch
/some/dir/here/file.txt@@/main/dev/prod1/view_prod1_dev__456_textDescription
尝试的解决方案
我试过这个命令来摆脱错误的分支:
ct rmbranch /some/dir/here@@/main/dev/view_prod1_dev__456_textDescription
但是我得到了这个错误:
...
Checking for mergeouts on branch [view_prod1_dev__456_textDescription] ...
ERROR: Cannot delete a WI branch that has mergeouts
cleartool: Warning: Trigger "TRG_PRE_RMBRANCH" has refused to let rmbranch proceed.
cleartool: Error: Unable to remove branch "/some/dir/here@@/main/dev/view_prod1_dev__456_textDescription"
根据错误,我需要删除该分支的合并。因此我的问题...
问题
如何撤消特定 clearcase 分支的合并?
这里假设是基本的 ClearCase,你对一些文件做一个 ct lstree --graph
看看它们是否被合并到其他分支版本。
即:检查是否看到红色箭头,如“Find all unmerged files/elements in ClearCase”中所示。
该答案包括一个 cleartool find,它将为您提供两个分支之间的所有合并元素。
对于该合并中涉及的每个元素版本(再次假设基本 ClearCase),您可以:
- describe that version 并找到来自它的合并超链接。
- 执行
cleartool rmhlink Merge@xxxxx@/vobs/yourvob
,删除所述超链接。
一旦不再有来自 view_prod1_dev__456_textDescription
的合并超链接,TRG_PRE_RMBRANCH
不应再阻止 rmbranch
。
参见 cleartool rmhlink
, and the previous question: "”。
背景
我处于这样一种情况,为了干净地提升代码,具有一定数量的视图必须以协调的方式分支:
/some/dir/here@@/main/dev/view_dev__456_textDescription
/some/dir/here/file.txt@@/main/dev/view_dev__456_textDescription
/some/dir/here@@/main/dev/prod1/view_prod1_dev__456_textDescription
/some/dir/here/file.txt@@/main/dev/prod1/view_prod1_dev__456_textDescription
某个产品的每个视图都必须从其产品分支中分支出来。
问题
我不小心创建了一个特定于产品的视图,但不在开发分支中。下面是我现在的情况:
/some/dir/here@@/main/dev/view_dev__456_textDescription
/some/dir/here/file.txt@@/main/dev/view_dev__456_textDescription
/some/dir/here@@/main/dev/view_prod1_dev__456_textDescription <-- The erroneous branch
/some/dir/here/file.txt@@/main/dev/prod1/view_prod1_dev__456_textDescription
尝试的解决方案
我试过这个命令来摆脱错误的分支:
ct rmbranch /some/dir/here@@/main/dev/view_prod1_dev__456_textDescription
但是我得到了这个错误:
...
Checking for mergeouts on branch [view_prod1_dev__456_textDescription] ...
ERROR: Cannot delete a WI branch that has mergeouts
cleartool: Warning: Trigger "TRG_PRE_RMBRANCH" has refused to let rmbranch proceed.
cleartool: Error: Unable to remove branch "/some/dir/here@@/main/dev/view_prod1_dev__456_textDescription"
根据错误,我需要删除该分支的合并。因此我的问题...
问题
如何撤消特定 clearcase 分支的合并?
这里假设是基本的 ClearCase,你对一些文件做一个 ct lstree --graph
看看它们是否被合并到其他分支版本。
即:检查是否看到红色箭头,如“Find all unmerged files/elements in ClearCase”中所示。
该答案包括一个 cleartool find,它将为您提供两个分支之间的所有合并元素。
对于该合并中涉及的每个元素版本(再次假设基本 ClearCase),您可以:
- describe that version 并找到来自它的合并超链接。
- 执行
cleartool rmhlink Merge@xxxxx@/vobs/yourvob
,删除所述超链接。
一旦不再有来自 view_prod1_dev__456_textDescription
的合并超链接,TRG_PRE_RMBRANCH
不应再阻止 rmbranch
。
参见 cleartool rmhlink
, and the previous question: "