Atsushi Koga
kog****@ceres*****
2005年 6月 17日 (金) 00:26:12 JST
kog です。 > パッチを拝見しましたが、わざわざ別ファイルにしたりメソッド切りだししたり > するのは大げさなので、initialize 時に Windows かどうか判断して適当に処理 > するようにしました。というわけで svn.rb だけの変更で済ませましたので、い > ちおう確認してください。 了解です。 テストしてみた結果、1箇所違ってるようなのでパッチをつけます。 >> * HikiFarmのリポジトリがローカルかどうかのチェックを厳しく > > ここ、パッチの意図がわかりませんでした。 > > - if @repos_root =~ /:/ and @repos_root.split(/:/)[1] != "local" > + if @repos_type == 'cvs' and @repos_root =~ /:/ and > @repos_root.split(/:/)[1] != "local" > > これだと、'cvs' でない場合は素通しになるのですが、そういう意図じゃないで > すよね? そういう意図です。 svnのwin32対応版の場合、 file:///c:/home/head/var/svn/... ---(1) か file:///c|/home/head/var/svn/... ---(2) みたいにURLを指定するんですが、(1)を意識して設定すると かならずエラーになります。 (2)だと、svnadmin create するときに変換しないといかんのと、 普通Windowsだと c:\hoge\fuga みたいに指定しますから、 hikifarm の repos_root には c:/home/head/var/... みたいに書けるようにしたいんです。 もともとのソースのlocalのチェックは多分 cvs -d :local:/hoge/fuga ... みたいなのをチェックしたい意図なんだと思ったのと、 hisroty.rb でも cvs, svnきめうちになっていることから、 この条件を追加しました。 最初は ReposDefault以下のクラスのクラスメソッドでチェックできたら hikifarm/index.cgi からcvs依存が少し減ってかっこいいかなと思って いじりはじめたのですが途中で挫折しました orz。 >> * mingw32で使うと、localtime.to_sが漢字交じりになるので化ける対応 > > うーむ。別にいまのままでもいいように思いますが、何か不具合ありますか? mingwだと C:\Documents and Settings\kog>ruby -ve 'puts Time.now' ruby 1.8.2 (2004-12-25) [i386-mingw32] Thu Jun 16 23:21:47 東京 (標準時) 2005 になるので、やっぱり化けないようにしたいです。 会社で主に使ってるもんですから、 都合を知らない人に説明してもわかってもらえないのと、 できればHikiに好意を持ってもらいたいし。 # 活用してくれたらもっとうれしいのになあ>会社の人たち パッチを送り付けといてなんですが、 フォーマットをそのまま決めうちにするよりは下みたいなプラグインで eval(' class Time def to_s self.strftime("%Y-%m-%d(%a) %H:%M:%S") end end ', TOPLEVEL_BINDING) 再定義しちゃってもいいのかもしれません。 そしたら、他の Time.to_s する箇所(プラグイン含め)を いちいちチェックしなくても全部救えるかもしれませんし、 フォーマットだけ変更しやすいかも? # テストはしてみて機能するのは確認しています。 strftimeの出力を再度パースするようなケース ってそうそうないとは思いますから副作用はほとんどないんじゃないか と思いますが、ちょっと強引でしょうか。 以上 -------------- next part -------------- テキスト形式以外の添付ファイルを保管しました... ファイル名: svn.rb.patch 型: application/octet-stream サイズ: 522 バイト 説明: 無し ダウンロード