1. ホーム
  2. svn

[解決済み] ローカルに存在しないファイルを全て削除するSVNコマンド

2022-05-12 13:33:13

質問

SVN で、ディレクトリ内のローカルに存在しないファイルをすべて削除するために使用できるコマンドはありますか?

または、失敗した場合、見つからないファイル (または、より一般的なケースでは、ステータス A、D、?、など) のみをリストする何らかの方法です。

どのように解決するのですか?

TortoiseSVN を使用している場合、単に 変更のチェック でソートしてください。 ステータス カラムでソートし missing を選択し、右クリックでコンテキストメニューを開き 削除 . 最後に、変更をリポジトリに公開するためにコミットします。

もしあなたが Windows を使っていて、コマンドラインを好み、PowerShell に手を出すのが好きなら、このワンライナーはトリックを行うでしょう。

svn status | ? { $_ -match '^!\s+(.*)' } | % { svn rm $Matches[1] }

つまり、ファイルがないことを示す行(行頭に感嘆符で示される)だけに出力をフィルタリングし、関連するファイル名を捕捉し、そのファイルに対して svn rm を実行します。

(ブログ記事 SVN 作業コピーから "見つからない" ファイルをすべて削除する は、Unix/Linuxで同様のことをします)。