2003-08-25 (Mon) [長年日記]

Subversion backend

Hiki を本格的に使い始めたのでデータの履歴を管理しようと思い立つ。見てみると、どうやら CVS しかサポートしていないよう。今の環境でいまさら CVS に戻るのは非常に辛いので、えいやっと Subversion 対応を入れてみました。

まずリポジトリ管理周りをリポジトリバックエンドとして差し替え可能になるように抽出。その後 Subversion 対応のバックエンドを追加してあげてます*1

hikifarm.conf の設定は

# バージョン管理なし
repos_type = nil
repos_root = nil

# CVSROOT の設定 (ローカルのみ対応)
#repos_type = 'cvs'
#repos_root = '/home/foo/var/cvs'

# Subversion の設定 (ローカルのみ対応)
#repos_type = 'svn'
#repos_root = '/home/foo/var/svn'

こんな感じで repos_type に使いたいリポジトリの種別を設定。後方互換性を考慮して現状の

cvsroot = '/home/foo/var/cvs'

が設定されている場合は

repos_type = 'cvs'
repos_root = '/home/foo/var/cvs'

へと展開するようになっているので、すでに cvs の設定がある環境でもそのまま update して大丈夫(なはず)*2

Subversion を使うには hikifarm.conf の他に hiki.conf も更新してるので、こちらも要確認。

設定の上で hikifarm の index.cgi へアクセスすると Subversion リポジトリへ import されます。

更新をリポジトリへ反映するには cvs と同様に plugin として svn.rb を追加します。svn.rb と cvs.rb はどちらか片方しか入れることができないので注意。

Subversion のリポジトリの構造は以下のようになります。

$REPOS_ROOT
    |
    +---${Wikiの名前}
    |        |
    |        +---trunk
    |              {Wiki の text データ}
    |
    +---${Wikiの名前}
             |
             +---trunk
                   {Wiki の text データ}

指定したひとつの Subversion リポジトリへ各 Wiki サイトのデータがぶら下がる。Subversion の慣例として trunk へ放り込みます。

よろしかったらどうぞ

これ取り込んでもらうにはどこに持っていけばいいのかな。

Tags: Hiki

*1 ここまでするならバックエンドを別ファイルにしたほうがよかったかな。

*2 cvs 側は簡単なテストしかしてません^^;;

本日のツッコミ(全2件) [ツッコミを入れる]
# たけうち (2003-08-26 (Tue) 22:17)

はじめまして。Hiki作者のたけうちです。Subversion対応ありがとうございます。CVSバックエンド開発者の方々と調整して取り込ませていただきたいと思います。開発者向けメーリングリストがありますので、もしよろしければご参加ください。今後ともよろしくお願いします。

# ko (2003-08-27 (Wed) 00:13)

お誘いありがとうございます。メーリングリストへ参加させていただきました。こちらこそよろしくお願いします。