VSS リポジトリを SVN に移行していますが、最初のチェックインで誤ってすべての _vti_cnf、*.scc ファイルを含めてしまいました。これらをSVNから削除したいと思います。(もちろん、永続的ではありません - HEAD だけです)。問題のアプリケーションは非常に大きく、フォルダーごとにこれらのファイルを見つけて削除するには、非常に時間がかかります。
提案?これを行う明確な方法があるに違いありませんが、週末が近いことが私の高次脳機能を妨げています。
VSS リポジトリを SVN に移行していますが、最初のチェックインで誤ってすべての _vti_cnf、*.scc ファイルを含めてしまいました。これらをSVNから削除したいと思います。(もちろん、永続的ではありません - HEAD だけです)。問題のアプリケーションは非常に大きく、フォルダーごとにこれらのファイルを見つけて削除するには、非常に時間がかかります。
提案?これを行う明確な方法があるに違いありませんが、週末が近いことが私の高次脳機能を妨げています。
ジョナスの答えはうまくいくはずです。Subversion の制御をバイパスして、ファイル システム レベルで競合を削除しているため、競合が発生している可能性があります。
TortoiseSVNを使用できる場合、次のように動作します (= コンテキスト メニューに必要なコマンドが表示されます)。
終わり!
バージョン管理のアドバイスをするときの通常の免責事項、注意してください、バックアップをとってください、私は一切の責任を負いません など.
Windows コマンド プロンプトでは、「for」を使用して再帰的なファイル検索を実行し、一致するファイルごとに「svn delete」を呼び出すことができます。
C:\> for /r %i in (abc*def.sql) do svn delete %i
注意: バッチ ファイルでは、%i を %%i に置き換える必要があることに注意してください。
「for」で使用できる他のすべてのフラグについて調べるには (これは検索と解析のスイス アーミー ナイフです)、help コマンドを使用します。
C:\> help for
Linux または Mac OS を実行している場合は、次find
のように使用できます。
$ find . -type d -name "_vti_cnf" -exec svn delete {} \;
ただし、私はもう SVN ユーザーではありません (VSS を使用したこともありません)。そのため、コマンド ラインを変更するか、-print
最初に試してみることをお勧めします。
チェックアウト バージョンの *.scc ファイルを grep (またはファイルを検索するその他の操作) して削除し、コミットすることはできませんか?
または、PowerShellを使用します。
Foreach ($file in Get-Childitem * -include "*.txt")
{
svn del $file.name
}
ここで、*。txtはワイルドカードであり、*は削除するファイルを探す現在のディレクトリを指定します