1

ブランチをトランクに再統合しようとしていますが、TortoiseSVN で [マージのテスト] をクリックすると、次のメッセージが表示されます。

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!

ただし、ブランチとトランクのファイルはまったく同じです。このファイルは、トランクをブランチにマージしたときにいくつかのブランチにありました。

誰でもこの問題に遭遇しましたか?

4

2 に答える 2

1

ブランチで作業していて、他の作業で最新の状態に保っている場合、トランクの作業コピーを作成し、次のようなメッセージが表示された場合にブランチを再統合しようとすると、困惑する可能性があります。

~/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

Googleでいくつかの回避策を見てきましたが、それらは「ハック」として私を緊張させました。これに対処するために、私はメッセージで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をコミットしました。これを実行すると、トランクの作業コピーに戻り、問題なくブランチを再統合することができました。

これがお役に立てば幸いです

于 2012-11-16T03:15:09.300 に答える
1

私は SVN の専門家ではありませんが、あなたの答えはhttp://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-merge.html#tsvn-dug-merge-maintenanceおよびhttp:/ /svnbook.red-bean.com/en/1.7/svn.branchmerge.basicmerging.html#svn.branchmerge.basicmerging.stayinsync

要するに、実際の変更が何であるかに関係なく、再統合が変更されたものと変更されていないものを正確に認識できるように、ブランチをトランクと同期させておく必要があります。

ブランチのみに変更を加え、トランクには変更を加えていない場合、これは問題ではありません。ただし、trunk で 1 つまたは 2 つの変更を行ったら、ブランチにそれらを含める必要があります。

于 2012-07-19T13:14:38.487 に答える