2010-12-08 98 views
5

我正在使用svn設置我不習慣,我需要合併新代碼從一個分支到另一個。合併2 svn分支在一起

有在樹幹文件夾中沒有代碼,所以我不知道我是否應該更新樹幹的代碼,並更新第二分支,或者如果有一種方法只更新一個分支到另一個。我最後的手段是手動更新代碼。

任何想法這裏最好的路線是什麼?我正在做一切從終端。

回答

7

否不手動更新。當然,困難將取決於這些分支有多接近。

你總是可以把從分支到另一個分支的變化。 假設您有兩個分支名爲branch1和branch2,並且您想要將branch2合併到branch1。

說你是在BRANCH1(首先嚐試試運行,看看它是否會導致衝突)

svn merge -r LAST_MERGED_REVISION:HEAD_REVISION --dry-run url/to/branches/branch2 . 

svn merge -r LAST_MERGED_REVISION:HEAD_REVISION url/to/branches/branch2 . 
svn status | egrep '^C|^.C' <---Manual intervention is required for conflicts 
svn update 
svn ci -m "Merge changes from branch2" 

而且你可以關閉BRANCH2

svn merge --reintegrate url/to/branches/branch2 
svn update 
svn ci -m "Merged branch2 to branch1" 

這可能情況下的分支失敗非常不同。

+0

看起來像這樣會工作,雖然我在舊文件上遇到樹衝突,但我認爲我沒有改變。任何想法如何解決這些問題?這些文件會有很小的變化 – wajiw 2010-12-08 22:55:27

1

根據您使用的顛覆版本,我建議使用svnmerge或顛覆的內置merge tracking support。無論如何,很有可能從一個分支到另一個分支合併,而不使用主幹(假設分支具有一些相對較近的祖先)。