2014-04-23 67 views
0

我試圖將樹幹合併到SVN中的分支中。我不斷收到樹的衝突。我相當肯定,以下是合併幹線到分支的最簡單可行的情況下,但問題依然存在:即使在最簡單的情況下也會與SVN發生樹衝突

$ svn ls svn://server 
branches/ 
trunk/ 
$ svn ls svn://server/trunk 
file1.tldr 
file2.tldr 
$ svn copy svn://server/trunk svn://server/branches/test_branch -m "" 
Committed revision 4334. 
$ cd /tmp 
$ mkdir test 
$ cd test 
$ svn checkout svn://server/branches/test_branch 
A test_branch/file1.tldr 
A test_branch/file2.tldr 
Checked out revision 4334. 
$ cd test_branch 
$ ls 
file1.tldr file2.tldr 
$ svn merge svn://server/trunk 
--- Merging r4316 through r4334 into '.': 
    C file1.tldr 
    C file2.tldr 
Summary of conflicts: 
    Tree conflicts: 2 
$ svn status 
     C file1.tldr 
     > local add, incoming add upon merge 
     C file2.tldr 
     > local add, incoming add upon merge 

我還沒有在這一點上所做的任何更改什麼 - 無論是自從創建test_branch(作爲主幹的副本)後,trunk和test_branch中的文件已被修改。那麼怎麼會有樹衝突呢?我錯過了一步嗎?我正在使用SVN 1.6。

在此先感謝。我是SVN新手。

+0

我能想到的是,你正在合併在「錯誤」的方向。即你正在從主幹合併到你的分支,通常你從一個分支合併回主幹,除非他們正在合併「櫻桃挑選」合併中的特定修訂。但我仍然期望你做了什麼工作。 SVN 1.6相當古老。你能夠嘗試更新的版本嗎?我知道1.7和1.8都有大量的合併改進。 – Ben

+0

不幸的是我沒有這個系統的權限來自己做升級。但我會盡力做到這一點 - 感謝您的建議 – user2635263

回答

0

怎麼會有樹衝突?

我看到的最大的問題樹confict:在範圍內,建議合併r4316 through r4334:分公司必須從主幹只得到改變,從分支點,不早發生。對於在遊戲早期版本你有(預期)結果,即使它似乎很奇怪:Subversion的分支和主幹加入這兩個文件的分支點後

編輯

我會在樹幹日誌r4316變化看。我不會感到驚訝,如果它正在創建(以後刪除)分支test_branch

+0

我明白你的意思。你有什麼想法,爲什麼從修訂版4316開始,當複製發生在4334?有什麼辦法可以讓這個設置更簡單嗎? – user2635263

+0

@ user2635263您創建了分支作爲樹幹副本(即樹枝具有**全部**內容**和樹幹屬性**)。乾淨的情況下,trunk的mergeinfo必須是空的(TBT!我可能是錯的),在你的情況下它有* something *('svn pg')並且它被複制到分支中。結果 - 分支合併被認爲是「至少合併過一次」並計算錯誤的分支點。 * May *也可能與重複使用branchname有關(無法調用mergeinfo格式,請重新閱讀) –