SVNリポジトリを復元する

むかしむかしのオフィスの1つで、すべてのプロジェクトに1つのリポジトリがありました。



svn svn://server/

some1

some2

some3








原則として、すべてが1つのデータベースに保存されるため、非常に便利でした。



しかし、問題に直面しました。 リポジトリを複数に分割することが決定された瞬間に、データベースが崩壊し始めた理由は明らかではありません。







そもそも、すべてのブレークポイントがあればそれを見つける必要がありました。



最初のギャップを見つける:

svnadmin dump --incremental -r0:HEAD c:\path\to\repo > test.dmp





私の場合、8600リビジョンのうち、最初のリビジョンがすぐに見つかりました... 2300番目のリビジョン。



次に、さらにポイントを見つけます。

svnadmin dump --incremental -r2301:HEAD c:\path\to\repo > test.dmp







別のものを得た。 3459。



そしてもっと見つけてください。

svnadmin dump --incremental -r3460:HEAD c:\path\to\repo > test.dmp







これ以上エラーは見つかりませんでした。



次に、ライブリビジョンのダンプを作成します。

s vnadmin dump --incremental -r0:2299 c:\path\to\repo > dump(0-2299).dmp

svnadmin dump --incremental -r2301:3458 c:\path\to\repo > dump(2301-3458).dmp

svnadmin dump --incremental -r3460:HEAD c:\path\to\repo > dump(3460-HEAD).dmp




vnadmin dump --incremental -r0:2299 c:\path\to\repo > dump(0-2299).dmp

svnadmin dump --incremental -r2301:3458 c:\path\to\repo > dump(2301-3458).dmp

svnadmin dump --incremental -r3460:HEAD c:\path\to\repo > dump(3460-HEAD).dmp








現在、リポジトリをプロジェクトに分割しています。



プロジェクト1:

svndumpfilter include /some < dump(0-2299).dmp > some-1.dmp

svndumpfilter include /some < dump(2301-3458).dmp > some-2.dmp

svndumpfilter include /some < dump(2301-3458).dmp > some-3.dmp








プロジェクト2:

svndumpfilter include /some2 < dump(0-2299).dmp > some2-1.dmp

svndumpfilter include /some2 < dump(2301-3458).dmp > some2-2.dmp

svndumpfilter include /some2 < dump(2301-3458).dmp > some2-3.dmp








類推により、3番目も同じです。



次に、最初のプロジェクトのリポジトリを作成します。

svnadmin create c:\path\to\some







ダンプをアンロードします。

svnadmin load c:\path\to\some < some-1.dmp

svnadmin load c:\path\to\some < some-2.dmp

svnadmin load c:\path\to\some < some-3.dmp








次のようなエラー:

1.ファイルは既に存在します

2.逆説的ではないので、ファイルはありません。



最初のケースでは、すべてが単純です。たとえば、「タートル」を使用してリポジトリに移動し、この干渉ファイルを削除します。



2番目のケースでは、ダンプでのスクリーニングを行う必要があります

svndumpfilter exclude /chto/ne/nawlos < some-1.dmp > some-11.dmp







そして、それをリポジトリにアップロードします。



それは基本的にそれです。



All Articles