TortoiseSVNをバージョンアップしたら、リポジトリが利用できなくなった


開発物から資料に至るまであらゆるファイルをTortoiseSVN(Subversion)を利用して管理してるのですが、この手の重要なツールってバージョンアップが怖くてずっと古いまま使いがちです。

今日思い切ってバージョンアップしてみたら、案の定トラブルになりました。

正確には記録がないのですが、 「ra_localなんちゃらエラー:BDB読めません」みたいなエラーで、コミットもできなければリポジトリブラウザすらつかえない始末。

BDBとはBerkeley DBのことで、SubversionではFSFSとBDBのどちらかのファイルシステムでデータを保存することができます。
ところが、file:// プロトコルにおいては互換性の理由から、これが今後FSFSのみの推奨にかわったらしく、今回アップグレードしたTortoiseSVN1.6ではfile:// プロトコルでのBDB利用をサポートしない仕様にかわってしまっていたようです。(参考

となるとこのDBD形式のリポジトリをFSFSに変換すればいいわけで、その方法をメモに残します。

まずコマンドライン版のSubversionをココで入手します。

DBDの古いリポジトリをrepos_old、
FSFSの新しいリポジトリをrepos_new、とします。
以下コマンドラインで・・・

repos_oldのダンプを保存します。
svnadmin dump repos_old > dump.txt

repos_newをFSFSで作成します(これはTortoiseSVNを利用してもいいかな?)。
svnadmin create repos_new –fs-type fsfs

repos_newにrepos_oldのダンプを読み込みます。
svnadmin load repos_new < dump.txt

これで最新のTortoiseSVN(現時点1.6)で読み込めるリポジトリに変換されました。
無事復旧できてよかったです。。。

参考
「リポジトリを、BDBからFSFSへ、またはFSFSからBDBへ変換するにはどうしたらよいの?」
http://subversion.tigris.org/faq.ja.html#bdb-fsfs-convert

,

  1. No comments yet.
(will not be published)