2015-09-07 49 views
1

我有一個ClearCase main分支,並且在主分支中創建了一個子分支A
我再次通過編輯配置規範創建子分支B Subbranch AClearcase - 用於遞歸分支的findmerge

現在我需要使用findmerge命令合併兩個分支中存在的文件。
子分支A中有一些文件未在分支B中檢出。那麼,我有什麼方法可以使用findmerge命令將來自兩個嵌套分支的最新文件合併到主分支。

findmerge . -fversion /main/brancha/branchb/latest -print 

,也就是說,只有文件支路B下,而不是在分行答:
有一些文件,其branchB沒有必要,枝下B不創建文件改變。

回答

1

您需要合併:

  • 第一branchAfindmerge . -fversion /main/brancha/latest -print
  • 然後branchBfindmerge . -fversion /main/brancha/branchb/latest -print

這樣的話,你會從branchAbranchB查找文件,然後文件。

+0

合併是否會處理分支a和分支b中存在的文件,然後寫入舊文件並保留最新的文件? – Bhadrinarayanan

+0

@Bhadrinarayanan是的,如果你按照正確的順序:拳頭然後B. – VonC

+0

好的,謝謝讓我試試 – Bhadrinarayanan

1

另一種選擇是有一個觀點(我給它一個視圖標籤在這個例子中,「other_view」),其配置規範,首先,然後選擇支路B分支A,例如:

元* .../branchB /最新
元* .../branchA /最新
元* /主/最新

從視圖中選擇/主/最新的,你就可以使用「 - ftag'選項將'findmerge'從該「other_view」選擇的版本中合併。以下命令將預覽將要合併的內容:

cleartool findmerge。 -ftag other_view -print

0

雖然從@VonC和@hack的答案將工作和都很好,只是確定哪些內容需要合併,在許多情況下,最好的辦法實際執行合併是合併從分支B到分支A(解決沿途的任何衝突),然後從分支A合併到主分支。

  • 從一個分支的視圖A在配置規範中活動:findmerge。 -fversion /主/ brancha/branchb /最新-merge
  • 從配置規範僅主要活性的圖:findmerge。 -fversion /主/ brancha /最新-merge

這可以讓你解決任何合併的一個分支,而不是主要的衝突,減少破壞構建爲球隊的其餘部分的風險。在某些情況下,它是沒有意義的(如果分支A明確不應該包含來自分支B的內容),但是當它發生時,我認爲它是沒有額外工作的更好選擇。