svn中使用的--reintegrate选项是什么

what is the --reintegrate option used for in svn

我一直在从 trunk 处理一个 banch,我不断地将 trunk 的更改合并到我的分支中,以确保我不会离开 trunk svn merge ^/trunk/FW。现在是时候将我的更改合并回主干了,我在 http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.merge.html 上读到有一个 --reintegrate 选项,我在我的手册页中找不到。所以我想知道这是为了什么,它如何使合并不同以及我如何最好地将我的更改合并回主干?

我尝试过的方法(使用描述的 --reintegrate 选项):

$ svn merge --reintegrate ^/branches/Ron
svn: Reintegrate can only be used if revisions 11797 through 12026 were previously merged from https://burnaby-svn01:8443/svn/NextGen/trunk/FW to the reintegrate source, but this is not the case:
  branches/Ron/src/nms_core/jpax_system/jpax_time
    Missing ranges: /trunk/FW/src/nms_core/jpax_system/jpax_time:11797-11810
  branches/Ron/src/rtos_core/jpax_application
    Missing ranges: /trunk/FW/src/rtos_core/jpax_application:11797-11810
  branches/Ron/src/rtos_core/jpax_bsp_vip
    Missing ranges: /trunk/FW/src/rtos_core/jpax_bsp_vip:11797-11810

为什么这不能正常工作?

"Reintegrate" 用于将功能分支集成回其直接祖先。它告诉 Subversion 复制你的分支独有的更改,但不复制其他内容,例如复制到分支的主干更改。这是一个特殊的用例,具有许多普通 merge 没有的额外要求和限制。一些例子:

  • 您的工作副本不能有任何本地更改
  • 您的工作副本不得包含混合修订或浅层签出
  • 您的工作副本必须与存储库完全同步
  • 您的分支必须与其父分支完全同步

根据您的错误信息,我认为最后一个可能是您的问题。将所有剩余的主干更改合并到您的分支中,然后再次尝试重新集成合并。

有关详细信息,请参阅 this section in the SVN book