0

ブランチをトランクに再統合しようとすると、トランクのリビジョンがブランチから欠落しているというメッセージが表示され続けますが、リビジョンをブランチにマージしようとすると、マージする必要があるものは何も表示されません。vs2010でVisualSVNを使用していますが、ソースフォルダーに直接移動してTortoiseを使用しても同じエラーが発生します。

エラー: ここに画像の説明を入力

戻って既にマージされたリビジョンをマージしようとするとログをマージします (これはブランチからの写真で、トランクからリビジョンをマージしようとしています) ここに画像の説明を入力

これはブランチのリビジョン ログです。 ここに画像の説明を入力

これはトランクからのリビジョン ログです。 ここに画像の説明を入力

4

1 に答える 1

0

これを解決した方法は 2 つあります。

(1) トランクで、問題のファイルに空白の変更を加え、トランクにコミットします。次に、この変更をブランチにマージします。これにより、このファイルのブランチの mergeInfo プロパティが強制的に終了範囲が最新のリビジョンに更新されます。

これは、問題のファイルの MergeInfo にギャップがない場合にのみ機能します。

/trunk/[path to file on HD]:750-763.

これにより、トランクから更新を取得した後、mergeinfo が次のようになります。

/trunk/[path to file on HD]:750-791.

ギャップがある場合は機能しません。

/trunk/[path to file on HD]:750-755, 766-788.

最後の範囲 766-788 を 766-791 に更新するだけで、問題のリビジョンはスキップされます。この場合、オプション 2 を実行する必要があります。

(2) 不足しているリビジョンが実際にブランチにあり、問題のファイルがトランクとブランチの両方で同一であると 100% 確信している場合にのみ、これを行うことをお勧めします。そうしないと、ブランチをトランクに再統合するときに変更が失われる可能性があります。

ブランチのローカル コピーで、問題のフォルダー/ファイルに移動し、右クリックして、tortoise svn メニューの [プロパティ] を選択します。「svn:mergeinfo」プロパティを強調表示し、「編集」をクリックします。

変更がすでにブランチにあることがわかっているので、マージされたリビジョンの範囲をトランクから変更して、不足しているリビジョンを強制的に含めます。

/trunk/[path to file on HD]:750-755, 764, 766-788.

この mergeinfo プロパティの変更をブランチにコミットします。このブランチをトランクに再統合すると、エラーは発生しなくなります。

トランクとブランチの間でファイルに変更がある場合は、ブランチを再統合するときにトランクからそれらを削除しないように、コミット時にブランチに違いを追加する必要があります。

于 2012-05-24T16:08:27.590 に答える