データをディレクトリツリーに保持するアプリケーションがあります。
ここで、このディレクトリをsvnでバージョン管理下に置きたいと思います。
ただし、問題は、このアプリケーションがこのツリー内の一部のディレクトリを削除して再作成することがあるため、適切な.svnサブディレクトリが失われ、TortoiseSVNがディレクトリの妨害について大声で文句を言うことです。
それらの作業コピーを修復できる特別なオプション、スクリプト(cygwinバッチ、windows cmd、python ...)またはプログラムはありますか?現在、ディレクトリ同期ツールを使用して、失われた.svnファイルを2番目の作業コピーから再度追加していますが、これは非常に面倒です。
ありがとう!
申し訳ありませんが、失われたものを修復することはできません。
フォルダーはなくなり、空中から再作成することはできません。それらを元に戻す唯一の方法は、更新を実行することですが、更新によって既存のファイルが上書きされないため、最初にフォルダー全体を削除する必要があります。
競合するフォルダーの名前を変更し、SVN更新を実行して、フォルダーをSVNから復元しました。
私のお気に入りの差分ツール(Total Commanderでディレクトリを同期する)で差分をとった後、唯一の違いは、競合するフォルダーに.svnフォルダーが含まれていることでした。
「TortoiseSVN>クリーンアップ...」をクリックしました(「すべての変更を再帰的に元に戻す」を除くすべてのオプションにチェックマークが付いています)。その後、「SVNアップデート」を実行したところ、問題は解決しました。
SVNコミット中にディレクトリが妨害される理由の1つは、IDE Visual Studioのように出力ディレクトリを削除して再作成し、それによって.svnフォルダーを削除する場合です。したがって、このVSプロジェクトを別の場所にビルドしてから、チェックアウトした元のファイルに上書きします。 .svnフォルダーを保存する場所。次にSVNaddとSVNcommitを実行します。