14

私はこのシナリオを持っています:

  • コンテンツを含むフォルダーがブランチのローカル コピーから削除されます。変更は SVN Branch にコミットされます。(このフォルダはまだトランクにあります)
  • 今、ブランチからトランクまですべてをマージしたい
  • トランクのローカル コピーに移動し、SVN からマージして、ブランチを選択します (最初に SVN-Branch から LocalCopy-Of-Trunk への変更をマージします)。
  • ツリーの競合が表示されます
  • tortoiseSVN ウィンドウを閉じて、エクスプローラーでフォルダー構造に移動します。
  • フォルダーはそこにあります(ただし、SVNで競合しているとマークされています)
  • フォルダー構造を手動で削除します(これは欲しいので、欲しいだけです)
  • TortoiseSVN を右クリック -> TortoiseSVN -> 解決済みに移動すると、競合が表示されます。これを解決済みとしてマークし、[OK] をクリックします。

これは正しい方法ですか?

まさにこの瞬間、同じルートで SVN を使用して sth を作成しようとすると、次のエラーが表示されます。

エラー: サブツリーが欠落しているマージ トラッキングは許可されていません。トロイ回復アイテム

ローカルでマージしたすべてのもの (SVNBranch から LocalCopyOfTrunk まで) をトランクにコミットしたい場合、問題のあるフォルダーとそのコンテンツのステータスが missingと表示されます。コミットしたいものすべてにマークを付け (欠けているものは除きます)、[OK] をクリックすると、次の警告が表示されます。

移動/名前変更されたフォルダーの非再帰コミット (このコミットは再帰的ではなく、コミット用に選択された移動/名前変更フォルダーがあります。このような移動/名前変更は常にリポジトリで再帰的に実行されます。それでもコミットしますか?)

問題のあるルートの親フォルダーである TortoiseSVN->Revert を開いて元に戻すと、SVN は問題なく再び実行されます。しかし、どうすればそれらを削除できますか? このツリーの競合を解決するより良い方法は何ですか?

4

1 に答える 1

7

これは正しい方法ですか?

いいえ。

マージを実行すると、TortoiseSVN はすべてのツリー競合を赤でマークしたウィンドウを表示します。それらをダブルクリックすると、オプションを含むダイアログが表示されます。これらのオプションの 1 つは、「現在の作業コピーの状態を受け入れる (解決済みとしてマークする)」です。このクリックにより、TortoiseSVN はフォルダを削除し、競合を解決済みとしてマークします。

于 2013-11-19T20:20:36.643 に答える