我們正在使用ClearCase爲我們的團隊使用單個Dev流,沒有「鎖定」(未保留簽出)。ClearCase自動合併刪除團隊成員的代碼
ClearCase的客戶端版本:7.1.1 ClearCase的服務器版本:7.0.1.2
我們已經進行了同樣的測試,而無需使用 「圖形合併」。該選項按預期工作!也許這可以揭示ClearCase上過去的缺陷或解決方法。
這意味着,2個或更多的人可以進行編輯同一個文件一次,而無需等待該文件以進行檢查。
我們已經看到的怪異行爲,少數病例和試驗今天有點發現以下場景發生:
- File.txt由2名團隊成員簽出。
- 每個成員都在文件中進行更改(在文件的其他區域中)。
- 第一個開發人員在代碼中檢查ClearCase,這裏沒有問題。
- 第二個開發者簽入,獲得合併彈出通知。
當選擇「圖形合併」時,在這種情況下,ClearCase會通知所有合併都自動完成,並且不需要開發人員進行額外的輸入。
再看一點,第一次檢查是刪除(刪除),只保留後面的檢查更改。
這是怎麼發生的?這導致我們的團隊已經多次失去代碼。我們正在做一些不安全/錯誤的事情嗎?
編輯:這個問題的圖像,說明問題:
文件Manager.cs的版本爲27 兩個開發人員正在檢查出來。
其中一個發生了變化,簽入。 另一個簽入,獲取合併通知。
這是我在圖形合併看到:
注意,左邊是27版的,中間版本28(最新版本檢查),而右邊是一個正在下降的結果版本28的代碼更改!
這是爲什麼會自動發生?
圖片也可以在這裏看到:Image
不正確的是不會放棄的代碼更改。右側是當前由dev2檢出的文件,其中有dev2更改。合併的結果位於該屏幕截圖的頂部,並刪除由dev2添加的行。奇怪的是,在3路合併中,ClearCase應該選擇保持base/dev2版本(不添加新行)而不是源版本(添加1行新行)。這是通過具有完整ClearCase客戶端的經典合併工具,還是通過外部差異/合併工具?或通過一些基於Web的CCRC接口實現的? – VonC
http://publib.boulder.ibm.com/infocenter/cchelp/v7r0m1/index.jsp?topic=/com.ibm.rational.clearcase.tutorial.doc/a_how_cc_merges.htm:「對於任何線已經改變之間基礎貢獻者和另一個貢獻者,Rational ClearCase通過接受貢獻者中的更改來執行微不足道的合併「。所以它應該保持dev1的變化(版本28) – VonC
標準安裝,沒有自定義合併工具。使用clearcase explorer檢入並處理合並...這可以配置爲一個策略嗎? –