2011-09-03 140 views
1

從樹幹合併到SVN樹中的開發分支中時遇到問題。解決從樹幹合併到svn分支的問題

該項目的歷史是這樣的。它從一個單一的中繼開始。關於修訂版207,第一個分支已創建。然後,在修訂版331中,感興趣的分支從幹線分離出來。

我們現在處於修訂版本384. 331之間的大部分更改都是在感興趣的分支上完成的,但有一部分已經在主幹上獨立完成。

爲了使樹枝與樹幹保持一致,我想從樹幹合併到樹幹中。所以我正好這樣做:

svn merge ^/trunk . 

但是,我發現所有的衝突方式都出現了。我可能會理解一些衝突,但樹中的幾乎所有目錄和文件都受到影響。

更糟糕的是,大多數這些聲稱的衝突實際上是致力於207和331之間的幹線的變化,因此已經納入分支,因爲分支從幹線分離。

更糟糕的是,一些假定的衝突是樹衝突,涉及到文件被刪除或重命名,再次介於207和331之間。因爲它們不再存在於分支上,在那裏存在,我看不出任何方法來解決問題。

修復很複雜,因爲對於幾乎所有的文件來說,分支都是正確的,所以合併進來,然後接受分支副本,我沒有任何提交,所以服務器從來沒有得到合併提示事實上已經進行了。

我已經試過幾件事情來解決它:

svn cleanup 

在我看來,這並沒有做任何事情有關。

svn checkout ^/branches/branch-of-interest new-local-copy-of-branch-of-interest 

問題仍然存在於結帳的新副本中。

svn merge --record-only -r207:331 ^/trunk . 

有趣的是,所謂的「僅記錄」合併也試圖改變我的本地副本中的文件!

svn merge ^/trunk . 

此產生的矛盾和衝突樹的一大堆,即使我用戰鬥記錄僅合併,精心解決它(只記錄合併)應用的更改。

我還應該說,當我開始,我的客戶正在運行1.6.17和1.4.6服務器。但是,服務器已經升級到1.6.17,問題依然存在。

有沒有什麼辦法的人已經找到了解決這個問題呢?一個做了充分的合併和解決文件之一將是令人難以置信的耗時,而在這一點 - 由於顯而易見的原因 - 我甚至不有信心,下一次我的SVN不會只是嘗試在拉同樣的事情我一遍又一遍。

+0

您可能會通過日誌查看幹線上的奇怪事情。我看到一個類似的問題,一旦移除了主幹,然後通過合併來恢復。 –

+0

謝謝約翰。實際上,我懷疑這可能是因爲SVN存儲庫數據庫仍然是1.4格式,因此無法跟蹤合併。我已經聯繫了回購維護者,要求他升級它。我會看看如果解決了這個問題。 – Valtandor

回答

0

事實證明,這個問題在與存儲庫相關聯的數據庫版本奠定。即使在客戶端和服務器已升級到最新版本之後,數據庫仍然是舊格式,沒有跟蹤合併。

升級到最新的數據庫版本解決了問題,並允許我合併,沒有麻煩。特別是,我們在託管服務器和回購的計算機上使用這些命令:

svnadmin upgrade /path/to/repository 
svn-populate-node-origins-index /path/to/repository