我試圖按照在http://svnbook.red-bean.com/en/1.7/svn.branchmerge.commonpatterns.html描述的版本分支模型,但試圖進行合併時,我得到合併衝突。SVN合併和樹衝突「本地添加,傳入添加合併」
# Normal SVN Structure
svn-testing2> ls -l
total 12K
drwxrwxr-x 3 xxx yyy 4.0K Jan 13 17:28 branches/
drwxrwxr-x 3 xxx yyy 4.0K Jan 13 17:28 tags/
drwxrwxr-x 3 xxx yyy 4.0K Jan 13 17:28 trunk/
# Create & commit some data
svn-testing2> echo "line1" > trunk/file1; svn add trunk/file1; svn commit -m "created file1 " trunk/file1
Adding trunk/file1
Transmitting file data .
Committed revision 2.
# Create the release branch
svn-testing2> svn copy trunk branches/release
A branches/release
svn-testing2> svn commit -m "created release branch" branches/release
Adding branches/release
Adding branches/release/file1
Committed revision 3.
# Make & commit a change to trunk
svn-testing2> echo "line1-file2" > trunk/file2; svn add trunk/file2; svn commit -m "created file2" trunk/file2
A trunk/file2
Adding trunk/file2
Transmitting file data .
Committed revision 4.
# Attempt to merge the change to trunk:
svn-testing2> cd branches/release/
svn-testing2/branches/release> svn merge ^/trunk
--- Merging r2 through r4 into '.':
C file1
A file2
Summary of conflicts:
Tree conflicts: 1
[email protected]:~/svn-testing/svn-testing2/branches/release> svn st
M .
C file1
> local add, incoming add upon merge
A + file2
我可以
svn-testing2> svn resolve --accept=working *
解決這個問題,但似乎錯了,我必須這樣做。
如果我然後對我的發佈分支應用「hotfix」(例如創建「release/file3」),我該如何將它移回到trunk?如果我將「release」合併到「trunk」中,它將合併成OK,但是當將「trunk」合併回「release」時,我會遇到另一個local add, incoming add upon merge
衝突。 「file3」
我不想「重新集成」一個功能分支,因爲這些都是長時間運行的分支。
令人沮喪的是,SVN紅皮書(通常很棒)描述了這種常見的分支模式,沒有任何可以運行的命令的實例。
究竟我需要運行遵循這種分支模式,沒有所有這些不正確的合併衝突?或者有沒有這種分支模式的任何工作的例子 - 我找不到任何!
我想一個你評論關閉。 '試圖合併到trunk'的變化應該說'...釋放',而不是,對吧? –