web-dev-qa-db-ja.com

ダンプ/ロード後のSVNリポジトリは3分の1になります

RHL9で実行されている古いsvnサーバーにリポジトリがあります。 svnバージョンは1.1.4です。リポジトリのサイズは1.1GBです(du -sh $REPO)、そのフルダンプは1.7GBの大きさです。 ubuntu 16.04、svnバージョン1.9.3で実行されている最近のsvnサーバーにダンプをロードします。次のコマンドを実行します。

svnadmin load --bypass-prop-validation -q "/path/to/repo.svn" < "/path/to/repo.dump"

現在、リポジトリのサイズはわずか412MBです(du -sh)。

私はサーバーを管理するだけで、自分でsvnを使用することはありません。 Tortoiseのリポジトリログを見ると、すべてのリビジョンとすべてのドキュメントがここにあるようです(すべてを手動でチェックすることはできません、3733リビジョン)。

しかし、このサイズの違いがデータの損失につながったかどうかを確認する方法がわかりません。

どうやって知ることが出来ますか ? (カメまたはサーバーCLIから、私はルートです)このサイズの違いはあなたを悩ませていますか?

2
jps

SVNはSVN1.4以降、リポジトリのサイズを縮小するために多くのことを行ってきたので(私は思う)、これらの開発努力のバンドルされた結果を今すぐ見ることができます( SVN元のソース )。

  1. 新しいリポジトリには、古いデッドトランジション(SVN 1.1では削除されなかった)が含まれていません。
  2. 古いSVNリポジトリは、ファイルの内容を圧縮形式で保存していませんでした
  3. 変更のデルタ化も圧縮形式で保存されるようになり、後のリビジョンファイルに保存されます
  4. SVNは、2つの等しいファイルが1回だけ保存されることを意味する表現共有を導入しました。これは、svnadmin packコマンド(1000回転を1つのファイルにパックし、すべてのコンテンツの複製を解除する)によって最適化できます。

最新のアルゴリズムでは、長いテキストを約15%以下に圧縮できます。圧縮に関するその他の数値とデータについては、 ここ を参照してください。

0
Peter Parker

リポジトリがHEADから正常に見えるかどうか、最後の2つの重要なコミット、そしておそらく最初に戻ったかどうかをスポットチェックします。開発、サポート、そしておそらくコンプライアンスなど、ニーズに必要な範囲にのみ戻ります。

ダンプのバックアップを取り、必要と思われる限りアーカイブします。

リビジョンごとのファイルを取り除くことで得られる利益を定量化するには、 svnadmin pack 元のリポジトリのコピー。

0
John Mahowald