web-dev-qa-db-ja.com

作業コピーで妨害されたディレクトリを修復する方法

データをディレクトリツリーに保持するアプリケーションがあります。

ここで、このディレクトリをsvnでバージョン管理下に置きたいと思います。

ただし、問題は、このアプリケーションがこのツリー内の一部のディレクトリを削除して再作成することがあるため、適切な.svnサブディレクトリが失われ、TortoiseSVNがディレクトリの妨害について大声で文句を言うことです。

それらの作業コピーを修復できる特別なオプション、スクリプト(cygwinバッチ、windows cmd、python ...)またはプログラムはありますか?現在、ディレクトリ同期ツールを使用して、失われた.svnファイルを2番目の作業コピーから再度追加していますが、これは非常に面倒です。

ありがとう!

11
MarkusSchaber

申し訳ありませんが、失われたものを修復することはできません。

フォルダーはなくなり、空中から再作成することはできません。それらを元に戻す唯一の方法は、更新を実行することですが、更新によって既存のファイルが上書きされないため、最初にフォルダー全体を削除する必要があります。

4
Stefan

競合するフォルダーの名前を変更し、SVN更新を実行して、フォルダーをSVNから復元しました。

私のお気に入りの差分ツール(Total Commanderでディレクトリを同期する)で差分をとった後、唯一の違いは、競合するフォルダーに.svnフォルダーが含まれていることでした。

17
Cees Timmerman

「TortoiseSVN>クリーンアップ...」をクリックしました(「すべての変更を再帰的に元に戻す」を除くすべてのオプションにチェックマークが付いています)。その後、「SVNアップデート」を実行したところ、問題は解決しました。

0
Luis Hernandez

SVNコミット中にディレクトリが妨害される理由の1つは、IDE Visual Studioのように出力ディレクトリを削除して再作成し、それによって.svnフォルダーを削除する場合です。したがって、このVSプロジェクトを別の場所にビルドしてから、チェックアウトした元のファイルに上書きします。 .svnフォルダーを保存する場所。次にSVNaddとSVNcommitを実行します。

0
noel av