web-dev-qa-db-ja.com

SVN:コマンドラインから元のコピーをバキューム/削除します

コマンドラインから作業コピーのすべての元のコピーをバキューム/削除するにはどうすればよいですか?

ユースケース:

  • 複数の作業コピー(20以上)をチェックアウトしています
    (私たちの会社の多くの開発者にも同じケース)
  • それらの作業コピーのいくつかは時間とともに大きくなります
  • ディスク容量が不足している場合は、説明されているようにすべての作業コピーを手動でクリーンアップする必要があります この回答では (以前に確認したところ、どの作業コピーがディスク容量の大部分を占めているか)
  • ボーナス:元のコピーが占めるディスク容量を計算(推定?)し、クリーンアップを呼び出すだけです。結果として... GBが解放されます。

これは面倒でエラーが発生しやすいので、これらの20以上のクリーンアップを自動化vacuum_pristine_copies.XXXスクリプトに変換します。このスクリプトは、最も必要なときに実行できます。

同封のラベル

  • コマンドラインからcleanupを呼び出すことができます( ここのドキュメント を参照)。
    ただし、これには/vacuum-pristineオプションがありません。 (私たちはすでにこのTortoiseSVN自動化を使用してバッチ更新を行っています)。
  • 私たちはWindowsマシンで作業していますが、CMDで修正されていません。
    考えられる代替案の1つはPython27です。
1
hardmooth

TortoiseSVNの場合、オプションまたはパラメーターは/vacuum開発者が述べたように 電子メールで 。あなたが指摘したように、それは現在ドキュメントにありません。

SVN 1.8は、自動元の状態のバキュームcleanupコマンドに導入しました1.9それと他の機能をオプションにしました。ソース: SVN変更ログ

4
dotn3b

1.10より前のsvnの場合、パラメーターなしで「svncleanup」と入力するだけです。 Svnは、クリーンアップが終了した後、自動的に元の状態を掃除機で吸い取ります。

Svn 1.10(多分それ以降)の場合、上記のコマンドを「--vacuum-pristines」(「svn cleanup --vacuum-pristines」)と一緒に入力すると、svnが同じことを行います。ただし、他のパラメーターを追加することもでき、svnはそれらすべてを1つのコマンドで実行します。たとえば、( "svn cleanup --remove-unversioned --remove-ignored --vacuum-pristines")

もちろん、古いバージョンと同様に、パラメーターなしで「svn cleanup」と入力すると、1.10でもバキュームされます。

3
hearst