Subversionでサイトを更新するにはどうしたらいいか。
ちょさんのXREA を rsync で更新する を見ていて、ふとSubversionでサイト管理できるよなーと思って、今のところやるつもりは無いけど、 とりあえずアイディアだけまとめておく。
Subversionでサイト管理する、というかSubversionリポジトリをデータベースとして扱うには、
- リポジトリを直接読み込む
- コミット時に自動的に(別のディレクトリに)チェックアウトさせる
のどちらかが考えられる。
で、CGI等で動的に利用する場合前者、静的ファイルとかに利用する場合後者、ということになる。
とりあえず後者の場合、フックスクリプトでごにょごにょして、チェックアウトさせればよさげ。 ただ、.svn以下を読まれないようにしておかないとまずい。
前者の場合、言語によってライブラリがあったりなかったりするような気がするので省略。 Perlの場合、CatalystのModelにあるっぽいのでそれ使うといいかも。他の手段で直接読み込む場合、 SubversionのPerl bindに一緒についてくるSVN::Coreとか使うことになるのかな? ただCPANからは手に入らないので、ちょっと面倒かもしれないけど。
まあ、こんな感じか。