[Hiki-dev:00601] Re: repository backend

Back to archive index

Kazuhiko kazuh****@fdiar*****
2004年 12月 5日 (日) 23:06:53 JST


かずひこです。

At Sun, 5 Dec 2004 22:46:51 +0900,
KOMATSU Shinichiro wrote:

> なぜか cvs, svn といったリポジトリまわりのコードが
> hikifarm に入っているのが昔から気になっていたので、
> この辺をスッキリさせてみました。

ありがとうございます。

> (1) misc/hikifarm/index.cgi の 
>     ReposDefault, ReposCvs, ReposSvn を取り出して、
>     それぞれ hiki/repos/{default,cvs,svn}.rb に分割して放り込んだ。
> 
> (2) さらに、misc/plugin/{cvs,svn}.rb の中にある
>     {cvs,svn}_{commit,delete} も Repos{Cvs,Svn} に入れた。
> 
> (3) misc/hikifarm/index.cgi の create_repos を
>     hiki/util.rb に放り込み、hikifarm 以外からも使えるようにした。
> 
> (4) ここまでやると、plugin の cvs.rb と svn.rb は
>     1つにまとめてしまえることがわかったので、
>     これらはまとめた上で plugin/00default.rb に入れてしまった。

(1)〜(3) については概ね賛成なのですが、(4) はちょっとやりすぎな気もします。

> 先日の IW2004 でかずひこさんが
> 「リポジトリまわりは plugin でなく hiki に入れてしまってもいいかも」
> とおっしゃっていたので、patch を投げてみました。
> 検討していただければと思います。

リポジトリを扱う枠組みを hiki 本体で持っておいて、実際に使うかどうかはプ
ラグインで制御というくらいがいいかな、と思っていました。例えていうなら、
「tDiary における TrackBack」くらいの位置づけです。

もっとも、小松さんのパッチでも、特に指定しなかったら何もしないでこれまで
どおりですので、まあいいかとも思いますが、もうちょっと考えさせてください。

add_update_proc {
  updating_mail if****@conf*****_on_update
  Hiki::Util::create_repos(@conf.repos_type, @conf.repos_root, @conf.data_path).commit(@page)
}

add_delete_proc {
    Hiki::Util::create_repos(@conf.repos_type, @conf.repos_root, @conf.data_path).delete(@page)
}

↑このへんで、クラスメソッド (というか module function) が出てくるのが
ちょっと嫌かも...

いずれにしても、これまで undocumented で「秘伝のタレ」状態だった履歴管理
まわりがすっきりとするのはとてもいいことだと思います。どうもありがとうご
ざいます。
-- 
かずひこ <http://wiki.fdiary.net/kazuhiko/>
  ★シャア「名字が付いてない」
  ☆一兵卒「あんなの飾りです。偉い人にはそれが分からんのです」



Hiki-dev メーリングリストの案内
Back to archive index