这是谜语:
C:\code\trunk> svn merge --reintegrate http://svn.e.com/repos/branches/lih --accept postpone --dry-run
svn: E195016: Reintegrate can only be used if revisions 11430 through 12384 were previously merged from http://svn.e.com/repos/trunk to the reintegrate source, but this is not the case:
branches/lih
Missing ranges: /trunk:11902
但是,如果我进入分支的目录并尝试合并该范围,则没有任何内容可以合并!
C:\code\branches\branch> svn merge -r 11901:11902 http://svn.e.com/repos/trunk --accept postpone --dry-run
C:\code\branches\branch>
Even svn merge -r 11898:11903
显示没有任何要合并的内容。
现在我似乎无法将我的分支重新集成到主干中!请帮忙!
附: lih 分支直到 11906 年才创建。它是从 hd 分支分支出来的,hd 分支又是从 trunk 分支出来的(并且 hd 已经合并回 trunk 了)。
我刚刚遇到了类似的问题,问题是 trunk 有两个取消修订(即 trunk 上的 rev 20865 undid rev 20857)。因此,当我第一次从主干合并到分支时,这对修订版没有任何可合并的内容,但没有将它们包含在相关文件的合并信息中。然后,当我尝试从分支合并回主干时,它反对说缺少这两个修订。
我的解决方案(手动验证相关文件的修订已取消后)是将两个修订中的每一个合并到显式分支(通过 svn merge ^/trunk -c 20857 和 svn merge ^/trunk -c 20865),提交,然后将分支合并回主干。第二次就顺利了。这是 Subversion 1.8.0 (r1490375) 的情况。
我之前能够使用 merge 与 --record-only 来解决类似的问题,以将更改标记为在分支上正确合并,但合并实际文件可能更安全(以防万一发生不完全合并的更改)取消)。
看起来 Subversion 1.8 处理合并信息以取消对我的更改的方式存在错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)