svnsync
svn1.4から使えるリポジトリ間の同期ができるすばらしい機能。リモートで同期をかけることでバックアップとしても使える。
おお、こんな便利なものがあるとは知らなかった。
前述Retrospectivaでリモートのリポジトリと同期するためには、これを使ってまずローカルにリモートのリポジトリのミラーをつくって、Retrospectivaからはそのミラーを指すように設定しなくてはならないようだ。
使い方
まっさらなリポジトリ作成
svnadmin create hogehoge
なんだかよくわからない設定
リポジトリの中のhook/ディレクトリの中にひとつのファイルを作る。
cd hogehoge cd hook cp pre-revprop-change.template pre-revprop-change vi pre-revprop-change # 何もしないで exit 0 するように書き換える chmod +x pre-revprop-change
なにやってんだか良くわからないので、あとで勉強して追記する。
外部リポジトリとの同期を設定
svnsync init file:///srv/svn/repos/hogehoge https://svn.example.com/hogehoge
この時点では、まだリポジトリが紐づいただけで、中身はコピーされていない。
同期を実行
svnsync sync file:///srv/svn/repos/hogehoge
Revision 0からはじまって、1,2,3とひとつずつ変更を適用するかたちで内容の同期がなされる。