在SVN中重新集成分支到中继的问题

时间:2012-03-14 12:46:29

标签: svn merge branch trunk svn-reintegrate

我正在尝试将分支重新集成到trunk,但是当我点击TortoiseSVN中的“Test merge”时,我收到此消息:

Command: Reintegrate merge https://127.0.0.1/svn/global/branches/somebranch into D:\wwwroot\work 
Error: Reintegrate can only be used if revisions 8459 through 11952 were previously  
Error:  merged from https://127.0.0.1/svn/global/trunk to the reintegrate  
Error:  source, but this is not the case:  
Error:    
Error:  branches/somebranch/file.js  
Error:   
Error:     Missing ranges:  
Error:  /trunk/file.js:11059,11212,11392,11486,11719,11732-11733  
Completed!

但是,分支和trunk中的文件完全相同。当我将trunk合并到我的分支时,这个文件在somebranch中。

有人遇到过这个问题吗?

2 个答案:

答案 0 :(得分:1)

我不是SVN的专家,但我认为您的回答是:http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-merge.html#tsvn-dug-merge-maintenancehttp://svnbook.red-bean.com/en/1.7/svn.branchmerge.basicmerging.html#svn.branchemerge.basicmerging.stayinsync

简而言之:无论您的实际更改是什么,您都需要让分支与主干保持同步,以便重新整合确切知道哪些内容已经发生变化。

如果您只在分支中进行更改而在主干中没有更改,则这不是问题。但是,一旦你在行李箱中进行了一两次更改,分支机构就需要包含这些更改。

答案 1 :(得分:1)

如果您正在分支机构并且一直在与其他人一起工作,那么当您创建主干的工作副本并尝试重新集成您的分支时,如果您收到类似这样的消息,则可能会感到困惑:< / p>

~/python/orb2 $ svn merge --reintegrate https://paulwhippconsulting.slsapp.com/source/orb/branches/bronze_services
svn: Reintegrate can only be used if revisions 650 through 694 were previously merged from https://paulwhippconsulting.slsapp.com/source/orb/trunk to the reintegrate source, but this is not the case:
  branches/bronze_services/occl
    Missing ranges: /trunk/occl:650-693

我在谷歌上看过很多变通办法,但是他们让我感到紧张,因为“黑客”。为了解决这个问题,我决定做一下subversion在消息中暗示的内容。我回到我的分支并明确合并了指定的修订:

~/python/orb $ svn merge -r 650:693 https://paulwhippconsulting.slsapp.com/source/orb/trunk
~/python/orb $ svn commit -m 'merged revisions 650:693 from trunk'
Sending        occl

承诺修订695。 一旦我这样做了,我就能够回到trunk的工作副本并重新整合分支而没有任何问题。

我希望这会有所帮助