« 検索ページの結果件数を設定できるように | Main | Tracで複数選択可能な入力項目を使用する »

2008.12.02

unfuddleリポジトリのバックアップ

 unfuddleにおいては、200MBまでのリポジトリを無料で利用することができます。200MBを超えそうになった場合の選択肢としては・・・おそらく、「有償版に乗り換える」「別のところを探す(あるいは自前で準備する)」といったところになるかと思います。

 仮に別のところを探すとした場合、問題となるのが、「リポジトリのデータの移行は可能かどうか?」ということ。shellを通してsvnadminコマンドを実行できるような環境なら特に悩む必要もないとは思いますが、残念ながらunfuddleではそれはできません。もっとも、200MBに近づいてきた時点で、svnadminのダンプ結果を保管するだけの空き容量があるかどうかは別問題ですが。

 で、調べてみたところ、svnsyncコマンドを利用することで対処できそうな感じですね。

$ cd /work
$ svnadmin create --fs-type fsfs unfuddle-mirror
$ cd unfuddle-mirror/hooks
$ cp pre-revprop-change.tmpl pre-revprop-change
$ chmod a+x pre-revprop-change

なお、pre-revprop-changeファイルの内容は、
#!/bin/sh
exit 0

の2行のみでOKっぽいです。

リポジトリの準備ができたところで、同期の準備を行います。

svnsync initialize file:///work/unfuddle-mirror/ http://*****.unfuddle.com/svn/*****/

あとは、
svnsync sync file:///work/unfuddle-mirror

を実行すると、自動的にデータを取得してきてローカルのリポジトリに追加していってくれます。重要なのは、「同期先」「同期元」いずれかにおいてsvnsyncを実行できる環境であればOKってことでしょうか(例えば同期元で実行しなければならない、となった場合は、unfuddleのリポジトリデータのミラーを作成することは実質不可能になってしまいます)。

 できあがったミラーは、通常のリポジトリと同じ形式になるので、svnadmin dumpでダンプファイルを作成することで、最終的に別のリポジトリへ移行することができる・・・はず(この部分はまだ試していません)。もっとも、今度は移行先のリポジトリにデータを取り込むところが関門になってきますが(^^;

|

« 検索ページの結果件数を設定できるように | Main | Tracで複数選択可能な入力項目を使用する »

Subversion・Trac・etc.」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference unfuddleリポジトリのバックアップ:

« 検索ページの結果件数を設定できるように | Main | Tracで複数選択可能な入力項目を使用する »