这是谜语:
C:codetrunk> 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:codebranchesbranch> svn merge -r 11901:11902 http://svn.e.com/repos/trunk --accept postpone --dry-run
C:codebranchesbranch>
即使svn merge -r 11898:11903
也没有显示任何合并。
现在,我似乎无法将分支重新整合到后备箱中!请帮助!
P.S。LIH分支直到11906年才创建。
我刚遇到了类似的东西,问题是中继有两个取消修订版(即,在Trunk undid Rev 20857上的Rev 20865)。因此,当我第一次从中继线合并到分支时,这对这对修订没有任何合并,但没有将它们包含在相关文件中。然后,当我试图从分支到后备箱合并时,它反对这两个修订丢失。
我的解决方案(在手动验证有关文件取消的修订后)是将两个修订合并到分支机构中的每个修订(通过SVN MERGE ^/TRUNK -C 20857和SVN MERGE ^/TRUNK -220865),提交,然后将分支合并回树干。第二次,它顺利进行。这是Subversion 1.8.0(R1490375)。
我能够使用合并 - 仅记录将更改标记为在分支上正确合并,但合并实际文件可能更安全(以防万一有更改的更改可能不会,这不是一个更安全的问题'T取消)。
看起来像是颠覆1.8处理Mergeinfo的错误,以取消对我的更改。
这似乎对我有用,但是我不能声称理解它或保证这是解决我的问题的最佳方法。
首先,重要的是您的分支机构都有所有最新的企业。因此,将其同步(从树干到分支合并)。
然后,您可以通过在中继目录中执行此操作来实质上强制重新融合: svn merge http://svn.e.com/repos/trunk/@REV http://svn.e.com/repos/branches/lih/ . --dry-run
(但用最新的修订#替换Rev)。