web-dev-qa-db-ja.com

フォルダーが削除された場合、TortoiseSVNを使用してマージしているときにツリーの競合に対処するにはどうすればよいですか?

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

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

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

まさにこの瞬間、同じルートでSVNを使用してsthをさらに作成したいときはいつでも、次のエラーが表示されます。

エラー:欠落しているサブツリーではマージ追跡は許可されません。 tryoアイテムの復元

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

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

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

14
akcasoy

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

番号。

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