Q:リポジトリの使用領域とその確認方法について
プロジェクトにリポジトリ「Subversion」を追加しSVNクライアントよりソース及びドキュメントをコミットしました。 コミットした資産がファイル数ベースでは格納されていることを確認しましたがローカルのサイズと「使用ディスク領域」に大きな乖離がありました。
これはアップロードした際に圧縮等されている為「使用ディスク領域」のほうが小さく見えるのでしょうか? または、アップロードに失敗してファイルが壊れた等でサイズが小さくなったのでしょうか?
ファイル毎のサイズを確認する方法がありましたらご教示ください。
A1:リポジトリはディスク消費を抑えるためにファイルは圧縮して格納します
はい。仰る通り圧縮されております。 Subversion リポジトリやその他のリポジトリでも、ディスク消費を抑えるためにファイルは圧縮して格納します。
また作業ディレクトリにある .svn ディレクトリ配下には、変更前のファイルを非圧縮で保持しています。これは変更検出や比較をリポジトリにアクセスせずに解決するのに使用されます。
つまり、作業ディレクトリのディクスサイズを .svn ディレクトリを除去せずに数えた場合、 リポジトリに送った分の2倍の消費になります。
そのため、2つのサイズにはそれなりの差があるはずです。
A2:ファイル毎のサイズを確認する方法について
以下の2つのディレクトリを比較する方法があります。
- trunk の最新版をチェックアウトしそのディレクトリ
- ローカル上にあるインポートしたディレクトリ
これで登録されたファイルと送信したファイルが同一であるかどうかを確認できます。 対象になるファイルが多すぎるなどあれば trunk ではなく適当なディレクトリをサンプリングして比較を行います。
また、ファイルのサイズ自体はコマンド svn ls -v URL で確認できます。
$ svn ls -v https://site.example.com/svn/reponame/trunk/README 3355 username 390 4 03 2017 README ^^^ 3つ目の項目がサイズです
関連FAQ