http://svnbook.red-bean.com/en/1.7/svn.branchmerge.commonpatterns.htmlで説明されているリリース ブランチ モデルに従おうとしていますが、マージしようとするとマージの競合が発生します。
# 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
bumjvr@mbs-p:~/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 *
しかし、私がこれをしなければならないのは間違っているようです。
次に、リリース ブランチに「ホットフィックス」(たとえば、「release/file3」を作成) を適用した場合、それをトランクに移植するにはどうすればよいですか? 「リリース」を「トランク」にマージすると問題なくマージされますが、「トランク」を「リリース」にマージすると、local add, incoming add upon merge
「file3」などで別の競合が発生します
これらは両方とも実行時間の長いブランチであるため、機能ブランチを「再統合」しようとしているわけではありません。
SVN レッドブック (これは一般的に優れています) がこの一般的な分岐パターンを説明していて、実際に実行するコマンドの実際の例がないのはイライラします!
これらの不適切なマージ競合をすべて回避して、この分岐パターンに従うには、正確に何を実行する必要がありますか? または、この分岐パターンの実際の例がどこにもありますか?見つかりません!