2016-05-05 31 views
0

私は巨大なSVNリポジトリ、450K +のリビジョンを持っています。例えば、20Kのような数千のリビジョンの最後の数を取って、新しいリポジトリに復元するために履歴のサイズを小さくしようとしています。私はこれを達成するために多くの方法を試しました。以下は私が使用した方法を思い出しました。SVNリポジトリのサイズを小さくする

1-ノーマルダンプ、以下のコマンドを使用して2日かかりましたが、サイズ8回(レポサイズは70Gであると私はダンププロセスを殺した前に、ダンプのサイズは500ギガバイトに達する)

svnadminはダンプDEMO2/-r420000:HEAD> /share/svnbkup/split.dump W ARNING 0x0001:最も古いダンプされたリビジョン(r420000)より前のリビジョンを参照しているMergeinfo。このダンプをロードすると、mergeinfoが無効になる可能性があります。 HEAD --incremental> /share/svnbkup/split.dump:

2-同一のコマンドを使用して、私は--incremental用い、ダンプは

のsvnadminダンプDEMO2/-r420000復元ありません改訂419907内のデータを参照、>最も古いダンプリビジョン(r420000)より古い: は*リビジョン420136. 警告0000をダンプされました。このダンプを空のリポジトリにロードすると失敗します。 警告0x0001:最も古いダンプされたリビジョン(r419907)より前のリビジョンを参照しているMergeinfo。このダンプをロードすると、mergeinfoが無効になる可能性があります。 は*ダンプされたリビジョン420137.

3 - 私はそれが、

あるとして、私はダンプを復元しようとした上記のステップからのダンプを使用してかけませんを使用することを試みたが、それは何もしなかった、

、4-

< < <は、元のリビジョンに基づいて、新しいトランザクションを開始しまし420000 のsvnadmin:E160013:ファイルが見つかりません:トランザクション '0-0'、パス '/trunk/tool/test.xml' *編集パス:トランク/tool/test.xml ...ルート@のLXC:/ユーザ# ルートの@ LXC:/ SVN#デュ-sh最終/ 168K最終/

答えて

0
  1. 慎重に警告を読んで(範囲外の参照を持っていないこれは、LOWER国境を見つける - 今は少なくとも
  2. 小さなスライスに、ステップ1で見つかった最初、ベースダンプ
  3. スライス範囲ため--incrementalを使用し、第2およびそれ以降(小範囲をダンプしない)r419907から含むことを有する - --incrementalとオプション)を順番に実行する必要があります。何らかのエラーが発生した場合は、せん妄

    上の権利に関するリットルダンプ

私はあなたが言及した手順を試してみました

+0

新しいレポにのみHEADを転送、私は外に不足している参照を別のダンプを持って、歴史的なデータを忘れます範囲が、私は、参照やバルクの参照の大部分でダンプを参照して、ダンプを開始したかどうかは、パスとファイルが見つからない同じエラーを受け取ります と ' - インクリメント'を使用しない場合はダンプのサイズすべての目的を打ち負かす空高、 まだSVNには新しいです、 ndはそれほど多くの経験がありません – user3179814

+0

@ user3179814 - verify | repair元のrepoダンプする前に(破損していると思われます)、text-dump **はrepoの対応する部分よりも大きくなければなりません。 less repo-size –

+0

遅く応答して申し訳ありませんが、私はダンプを復元しようとしました、5K revダンプ、レポのサイズはまだ同じです、それはちょうど70Gから61Gに減少しました、私はsvnadmin検証を実行しようとしましたレポが損傷していないことを示した、それは私がsvnレポをチェックするために知っている唯一の方法です – user3179814

関連する問題