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/> ★シャア「名字が付いてない」 ☆一兵卒「あんなの飾りです。偉い人にはそれが分からんのです」