web-dev-qa-db-ja.com

TortoiseSVNのクリーンアップは実際に何をしますか?

TortoiseSVNのクリーンアップは実際に何をしますか?

パターンは見つかりませんでしたが、コードをコミットしようとするときに「クリーンアップ」を行うように頻繁に要求されます。

TortoiseSVNがいつ汚れているかを知っている場合、なぜクリーンアップ自体を実行しないのですか?

55
John Bubriski

編集:操作を中止し、/ pathの作業コピーをロック解除する必要があるため、自動ではないと思います。

Subversionブック:

作業コピーを再帰的にクリーンアップし、ロックを解除して未完了の操作を再開します。作業コピーのロックエラーが発生した場合は、このコマンドを実行して古いロックを削除し、作業コピーを再び使用可能な状態にします。このコンテキストでは、ロックはリポジトリのロックではなく、ローカルファイルシステムのロックを指すことに注意してください。

これは基本的に、SVNで発生したエラーを回復しようとする方法です。

クリーンアップに関するドキュメント:

http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-cleanup.html

「おそらくサーバーの問題が原因でSubversionコマンドが正常に完了できない場合、作業コピーは一貫性のない状態のままになる可能性があります。その場合、フォルダーでTortoiseSVN→クリーンアップを使用する必要があります。作業コピーの最上位。

クリーンアップには別の便利な副作用があります。ファイルの日付が変更されてもその内容が変更されない場合、Subversionは、元のコピーとバイト単位で比較することを除いて、実際に変更されたかどうかを判断できません。この状態のファイルが多数ある場合、ステータスの取得が非常に遅くなり、多くのダイアログの応答が遅くなります。作業コピーでクリーンアップを実行すると、これらの「壊れた」タイムスタンプが修復され、ステータスチェックが最高速度に戻ります。」

36
Andrew

[〜#〜] svn [〜#〜] のバグとダムアーキテクチャにダクトテープを貼って、作業コピーを破損させます。

ダムアーキテクチャの理由と、それが永遠にかかるため、自動ではありません。もちろん、SVNが普及したとき、そのアーキテクチャは [〜#〜] cvs [〜#〜] よりも数マイル先でした。

19
Dustin Getz

矛盾を探します。 ドキュメント から:

サーバーの問題などが原因でSubversionコマンドが正常に完了しない場合、作業コピーは一貫性のない状態のままになる可能性があります。その場合、フォルダーでTortoiseSVN→クリーンアップを使用する必要があります。作業コピーの最上位でこれを行うことをお勧めします。

クリーンアップには別の便利な副作用があります。ファイルの日付が変更されてもその内容が変更されない場合、Subversionは、元のコピーとバイト単位で比較することを除いて、実際に変更されたかどうかを判断できません。この状態のファイルが多数ある場合、ステータスの取得が非常に遅くなり、多くのダイアログの応答が遅くなります。作業コピーでクリーンアップを実行すると、これらの「壊れた」タイムスタンプが修復され、ステータスチェックが最高速度に戻ります。

7
Ben S