我试图按照在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'的变化应该说'...释放',而不是,对吧? –