簡體   English   中英

如何在 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,您對某個文件執行 aa ct lstree --graph以查看它們是否合並到其他分支版本。

即:檢查您是否看到紅色箭頭,如“在 ClearCase 中查找所有未合並的文件/元素”中所示。
該答案包括一個 cleartool find,它可以為您提供兩個分支之間的所有合並元素。

對於該合並中涉及的每個元素版本(再次假設基本 ClearCase),您可以:

  • 描述該版本並找到來自它的合並超鏈接。
  • 做一個cleartool rmhlink Merge@xxxxx@/vobs/yourvob ,刪除所述超鏈接。

一旦沒有來自view_prod1_dev__456_textDescription合並超鏈接, TRG_PRE_RMBRANCH不應再阻塞rmbranch

請參閱cleartool rmhlink和上一個問題:“如何在 ClearCase 中搜索特定類型的合並超鏈接? ”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM