今天准备将分支代码合并主干,直接用的TortoiseSVN工具合并。按照上篇文章所说《svn分支开发与主干合并(branch & merge)》,首先我要将主干代码同步到本地branch,结果报出了如下错误:
Command: Auto-merge http://svn.yihaodian.com/svn/source/yihaodian/BYR/BYR-1/backend-cms/trunk into D:\合并代码专用文件夹\backend-cms-dev-20170510
Error: Reintegrate can only be used if revisions 1810724 through 1817361 were
Error: previously merged from
Error: http://svn.yihaodian.com/svn/source/yihaodian/BYR/BYR-1/backend-cms/branches/backend-cms-dev-20170510
Error: to the reintegrate source, but this is not the case:
Error: source/yihaodian/BYR/BYR-1/backend-cms/trunk
Error: Missing ranges:
Error: /source/yihaodian/BYR/BYR-1/backend-cms/branches/backend-cms-dev-20170510:1810724,1810985,1812733,1814370, 1814851,1814865,1814882,1815200,1815203,1815568,1815795,1815811
Completed!:
经过一番百度折腾,终于是解决了问题:
从上面的报错信息可以看出,产生错误的原因是分支有部分版本没有合并到主干。导致我们在提交时,svn检测到之前有未合并的版本,所以报错。
解决办法就是按照此文章《svn分支开发与主干合并(branch & merge)》分支同步主干代码的步骤9,合并分支代码。注意此处是选中trunk,右键选择merge,merge type选择“Merge a range of revisions”,点击next,url选择分支的url,并在下面指定版本:specific range:1810724-1815811。
完成上述步骤后,就可以进行本章头所说的主干代码同步到本地branch操作了。
以上是我解决此问题的方法,如果有不对的地方,大家可以相互讨论。