Fedora Core 2 で管理している Subversion のリポジトリーを、Ubuntu 6.10 に移したところ、エラーが出て svn checkout が出来なかった。原因は、Berkeley DB のバージョンが違ったことにあるらしい。対処法をメモしておく。ちなみに、Fedora Core 2 の Subversion はバージョン 1.0.2。Ubuntu 6.10 は 1.4.3。
まずは、やったこととエラー・メッセージ。tex-symb というプロジェクトのリポジトリーをコピーした。
from.machine$ tar czvf tex-symb.tar.gz ~/repos/svn/tex-symb from.machine$ scp tex-symb.tar.gz to.machine:~/ from.machine$ ssh to.machine to.machine$ cd ~/repos/svn to.machine$ tar xzvf tex-symb.tar.gz to.machine$ cd ~/program/2007 to.machine$ svn checkout file:///home/ataka/repos/svn/tex-symb/trunk tex-symb --- Error Message --- DB_VERSION_MISMATCH: Database environment version mismatch svn: bdb: Program version 4.3 doesn't match environment version ...
対処
Subversion の FAQ に答えが載ってた。
こちらを参考に。svnadmin recover を実行後 db/ ディレクトリー下の __db.00* ファイルを削除した。
$ svn recover ~/repos/svn/tex-symb/ $ rm ~/repos/svn/tex-symb/db/__db.00*
FAQ には「svnadmin list-unused-dblogs /path/to/repeository で表示されるログ・ファイルも削除する」と書いてあるけど、ぼくの環境ではログ・ファイルは一つも表示されなかった。
これで、古いレポジトリーも新しい環境で checkout できるようになった。
蛇足: Ubuntu への Subversion 1.4.3 のインストール
Ubuntu へ Subversion 1.4.3 をインストールする方法は、ひげぽんさんのサイトを参考にした。
No comments:
Post a Comment