Subversionバージョンライブラリデータ移行


同社のSubversionサーバは、コンピュータのハードウェアのため、自動的にシャットダウンすることが多く、サーバを再インストールする必要があります.従来のSubversionサーバはWindows XP上にVisualSVNサーバを介して架設されていたが,これを機にLinuxシステムに移行する.そのため、元のバージョンライブラリを新しいサーバに移行する必要があります.
LinuxにSubversionサーバをインストールする方法については、前の記事で説明しました.この文書では、以前に構成されたSubversionサーバでバージョンライブラリデータの移行を完了することについてのみ説明します.
次の2つの簡単な手順でバージョンライブラリの移行を完了します.
1.古いサーバでバージョンライブラリをエクスポート
元のSubversionにインストールされていたWindowでバージョンライブラリをdumpファイルにエクスポートします.
> svnadmin dump myrepos > myrepos.dump

長い時間をかけて膨大な転送ファイルを手に入れたdump、この転送ファイルは元のバージョンライブラリ自体の何倍も大きいです.転送ファイルでは、各ファイルの各バージョンが完全なテキスト形式で保存されているからです.
svnadmin dumpバージョンライブラリからリビジョンツリーを読み込むのは、svn checkoutなどの他の「読者」のプロセスと同じなので、いつでも安全にこのコマンドを実行できます.
2.新しいサーバでバージョンライブラリをインポートする
これをdumpファイルを新しいサーバにコピーし、新しいバージョンライブラリを作成してdumpファイルをインポートします.
$ svnadmin create /home/svn/repos/myrepos
$ svnadmin load /home/svn/repos/myrepos < myrepos.dump

また、svnadmin loadコマンドはdumpファイルの各リビジョンを順次インポートします.このプロセスは、通常のSubversionクライアントを使用して直接バージョンライブラリにコミットする操作と同じです.そのため、最終的には元のバージョンライブラリと同じ新しいバージョンライブラリが得られます.