我們最近創建了一個分支,其中包含爲特定客戶端定製的代碼版本。我們同時在兩個分支上工作,向主幹提交'通用'更改,然後將它們合併到分支。合併到分支時發生衝突刪除代碼中的一些更改
最近,我們遇到了一個麻煩的情況。在trunk/bar.c
我們有(其中包括)foo()
功能。現在,在branch/bar.c
該功能被刪除,因爲它沒有用處。在trunk
中修改foo()
時會出現問題。當我們將更改合併到分支(「合併修訂版本範圍」)時,TortoiseSVN「3-way合併」工具顯示衝突上的方法(這是令人討厭的,但我可以看到一些原因),但它也顯示整個很多其他變化在文件中 - 這似乎顯得空氣稀薄(看起來有點像,如果它想顯示所有變化之間的幹線和分支)。這使合併變得更加困難,因爲它充滿了一些不重要的舊變化。
這樣的情況發生在你身上嗎?你會提出什麼建議,特別是在合併時更容易發現重要差異?
作爲一個(希望)臨時解決方案,我將嘗試和刪除區域中的#ifdef
,以便SVN會認爲代碼仍然存在,並且合併時間更長。 (不幸的是,這會讓代碼變得有些醜陋,並且在刪除更多功能時變得越來越醜)。
我upvote,因爲我有類似的問題 – 2009-10-19 11:29:58
你正在使用哪個版本(客戶端和服務器)? 1.4? 1.5? ... – 2009-10-26 03:45:27