当从一个长期存在的分支合并回主干时,我遇到了数百个冲突,如下所示。
Conflict discovered when trying to add 'src/main/python/application/mail.py'.
An object of the same name already exists.
Select: (mf) my version, (tf) their version, (p) postpone,
(q) quit resolution, (h) help: tf
svn: warning: W155027: Tree conflict can only be resolved to 'working' state; '/home/me/dev/trunk/src/main/python/application/mail.py' not resolved
svn: E205011: Failure occurred resolving one or more conflicts
但是这些文件是相同的(svn diff不返回输出)并共享一个共同的祖先。
svn mergeinfo ^/branches/2_3_RELEASE/src/main/python/application/mail.py ^/trunk/src/main/python/application/mail.py
youngest common ancestor
| last full merge
| | tip of branch
| | | repository path
20821 20831
| |
--| |------------ branches/2_3_RELEASE/src/main/python/application/mail.py
/
/
-------| |------------ trunk/src/main/python/application/mail.py
|
20831
我们是一个大型项目,同时在飞行中有多个版本。 2.2从主干切下,2.3从2.2创建,然后2.2合并回主干,2.3主干从主干。
Trunk
|
|\ create 2.2
| *
| *
| |\ create 2.3
| * |
| | \
| |\ /
| | * merge 2.2 to 2.3
|/ *
* | 2.2 released and merge to trunk
|\ /
| * rebase 2.3 from trunk
| *
|/
* merge 2.3 to trunk, what I'm attempting now
我们做错了什么?
答案 0 :(得分:1)
工作流程没有任何问题,这只是提高了预期,是SVN众所周知且仍然不可避免的弱点之一