Understanding SVN error : Reintegrate can only be used if

Understanding SVN error : Reintegrate can only be used if

pre_prod 分支到 b1 分支执行 SVN 合并,我收到以下错误:

D:\Web\projet\branches>svn merge svn://10.10.10.10/projet/branches/pre_prod b1
svn: E195016: Reintegrate can only be used if revisions 239 through 259 were previously 
merged from svn://10.10.10.10/projet/branches/b1 to
the reintegrate source, but this is not the case:
  branches/pre_prod
    Missing ranges: /branches/pre_prod:241,245
  branches/pre_prod/src/Type
    Missing ranges: /branches/pre_prod/src/Type:245

我想从 SO 尝试 this answer

但我对他的情况有所不同,他的错误是:

branches/bronze_services/occl
    Missing ranges: /trunk/occl:650-693

这是两个不同的分支,而我的错误是我将 pre_prod 分支与其自身合并。怎么可能?

此外,我的错误消息说要合并缺少的修订 from svn://10.10.10.10/projet/branches/b1.

我不明白,我应该从哪里合并什么?

好的,实际上我只需要重新使用引发错误的初始命令,并按照错误消息中的说明手动添加缺少的修订:

以下命令会引发错误:

svn merge svn://10.10.10.10/projet/branches/pre_prod b1
svn: E195016: Reintegrate can only be used if revisions 239 through 259 were previously [...]

所以只需重放合并如下:

svn merge -r 239:259 svn://10.10.10.10/projet/branches/pre_prod b1

我通过以下方式解决了相同的错误消息:

  1. 重新签出后备箱:svn co ${SVN_URL}/trunk
  2. 将存储库中的分支合并到新签出中:cd trunk && svn merge ${SVN_URL}/branches/the_branch

您当然应该提交合并签出。