SVNでマージ時に以下のエラーが出た場合の対応をメモ。
※あくまでも今回自分のした内容のメモなので、最適解とは異なるかもしれないので注意
Reintegrate can only be used if revisions xxxx through xxxx were previously merged from (URL) to the reintegrate source, but this is not the case:
(xxxxはマージ対象のリビジョン、URLはマージ先のレポジトリURL)
上記の要約は以下の通り。
再統合は、xxxxからxxxxまでのリビジョンが(URL)から再統合ソースに以前にマージされた場合にのみ使用できますが、そうではありません。
SVN上の状況は以下の通り。
trunkソースA r1
brunchソースA r2(trunkソースAを元にブランチ作成)
trunkソースA r3(あるファイルを修正)
brunchソースA r4(trunkソースAと同じファイルを修正)
上記のtrunkソースAとbrunchソースAのマージ時に前述のエラーメッセージでマージに失敗した。
以下の手順で対応したところ、正常にマージを完了した。
①trunkソースAからbrunchソースAにマージ
⇒コンフリクトが発生するので、正しく編集を行いコンフリクトを解決する
②brunchソースAからtrunkソースAにマージ
⇒問題なくマージが完了
同じケースの場合、試すことで解決の糸口になるかもしれない。