1. ホーム
  2. svn

.svnフォルダーのサイズを小さくする

2023-09-02 01:31:40

質問

私たちのプロジェクトでは、ビルド済みバイナリを使用することによってビルド時間を短縮することを決定しました。毎週/毎月、安定したリリースを作成し、それをリポジトリにコミットします。ビルドは、ソースからすべてを構築する代わりに、これらのバイナリを使用します。

ビルドの速度のために、これは素晴らしいことです。しかし、当然のことながら、SVN チェックアウトのサイズは本当に大きくなっています。私たちのトランクは現在 ~22GB になっています。これは Subversion の意図された使用法ではないことは承知しています。しかし、私たちには今のところ代替手段がありません。

しかし、私は現状を改善したいと思います。その .svn フォルダはディスク上の trunk のサイズに大きく寄与しています。バイナリが更新されると、.svnフォルダの中にいくつかのベースが残るようです。つまり、バイナリが4GBであれば、そのコピーが .svn . もしそれが更新されたなら .svn フォルダは元のベースと新しいベースを保持し、その 1 つのファイルに対して 8 GB まで増量されます。

にベースを保持しないように Subversion に指示することは可能でしょうか? .svn フォルダに保存しないように Subversion に指示することはできますか?google を通して、同じような質問を見つけました。 .svnフォルダのサイズを小さくするには? .

サイモンが受け取った回答は

  • 部分的なチェックアウトを使用する (バイナリが必要なため、私にとってはうまくいきません)
  • これはまだ Subversion の機能ではありません。
  • 議論されましたが、少なくとも Subversion 1.8 までは機能しない予定です。

幸運なことに、Subversion 1.8 がリリースされました。この機能は追加されたのでしょうか?

で気づかなかったのですが リリースノート . しかし、quot;ディレクトリとプロパティのストレージの削減" は期待できそうです。

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

現時点では、プリスティンを保存する必要性をなくす方法はありません。 話題にはなっていますが、オプションで削除することによって提示されるさまざまな使用例があるため、実際には簡単に解決できる問題ではありません。

1.7 でプリスティンのストレージが変更されました。 で、場合によっては、1.7 以前よりも状況が悪化しているように見えるかもしれません。 プリスティンは、プリスティンのハッシュによって名付けられたファイルに保存されるようになりました。 そのため、同じファイルが複数ある場合でも、重複してプリスティンが保存されることはありません。 しかし、プリスティンのクリーンアップも行われなくなりました。 そのため、蓄積され続けるだけです。 未使用のプリスティンを削除するトリガーは svn cleanup .

もしあなたがブランチを切り替えているのであれば、1.8 で既に持っているプリスタンをダウンロードする必要はもうありません。