cvscheck.inc.php

サマリローカルファイルとCVSファイルとのバージョンの差分表示
リビジョン0.17
対応バージョン1.4.4
投稿者sha
投稿日2003-09-13 (SAT) 13:28:08

概要

  • PukiWikiプログラムのローカルファイルとCVSファイルとの差分をテーブルとして表示する。
  • 開発版のPukiWikiファイルのアップデートのチェックに便利。
  • 標準添付のファイルの表示、インストールした自作プラグインの表示を行う。
  • キャッシュ機能で表示時間を短縮。

説明

  • CVS側に存在するファイルに関して、ローカルファイル(cvscheckを実行したサイト側のファイル)と比較し、バージョンが違っていたり、バージョンが取得できなかったり、ファイルが存在しなかったりするとテーブルとして表示する。
  • ローカルにしか存在しないファイルについては無視する。
  • チェックするディレクトリは、"./"と"./plugin/"の2つのみ。
  • チェックするファイルは、何らかの拡張子がついているファイル全ての内、バージョン表示のあるもの。
  • localオプションの指定で、ローカルにだけ存在してバージョンが取得できるファイルを表示する。
  • CVSページのHTMLの構造を正規表現で取得しているので、表示フォーマットが変わると取得できなくなる可能性がある。
  • versionlist.inc.phpではバージョン表記として「\d+\.\d+」をチェックしていたが、cvscheck.inc.phpでは「[\d\.]+」。よって、例えばローカルファイルに独自の修正を加えた場合、「1.46.1」のような表記が可。
  • ローカルファイル名の拡張子のチェックは「\.\w+$」。従って、ローカルファイルのバックアップをその場に置いて、かつcvscheckの対象にしたくない場合には、最後の拡張子にハイフンなどを含めればよい。
  • ローカルファイルのファイル名はバージョン表記から取得する。pukiwiki.phpをindex.phpに変更してもバージョン表記がpukiwiki.phpのままなら比較できる。ただし、バックアップの場合は前述などのような対処が必要。
  • localオプション指定時には「自作プラグイン」のチェックにプラグインls2を使用。pukiwiki.orgls2の出力仕様が変更されると「自作プラグイン」のチェックに失敗する可能性がある。
  • XHTML1.1 validation check済み。
  • ここで実験しています→「sha:cvscheck.inc.php

使用法

#cvscheck([local][,<interval>])
local: ローカルにだけ存在するファイルの表示
<interval>:= <数字>[mhd]   m:分, h:時間, d:日
./?plugin=cvscheck&refer=<page>&param=<options>
[./?plugin=cvscheck&refer=<page>&param=[cvs|local] cvscheck]
<page>: 戻り先ページ名
<options>:= [local|cvs][,<interval>]
  • 前者は、ブラウザのWebアドレス入力にて使用する方法。
  • 後者は、リンクとしてPukiWikiページに貼りつける場合の方法。クリックすると実行する。
  • &refer=<page>は省略可。付けると戻り先ページ名として表示される。
  • &param=cvsは省略可。デフォルト動作。&param=localでローカルのみ存在するファイルの表示モード
  • <interval>を付けると、その時間だけキャッシュにCVSのデータを保存して利用する。

使用例

  • 拡張子がついてさえいればチェックの対象とするので、*.inc.phpや+.phpはもちろんのこと、例えば、*.txt, *.lngなどもチェック対象となる。ただし、ファイル内部にバージョンの記載が無いものはチェックできないので除外される。
  • CVS側に存在するファイルのバージョン比較
    #cvscheck(1h)
    file namelocal versionscvs versions
    en.lng1.221.23
    file.php1.301.32
    plugin/attach.inc.php1.311.32

  • ローカルにのみ存在するファイルのバージョン表示
    #cvscheck(local)
    file namelocal versions
    plugin/gotaku.inc.php0.4
    plugin/printenv.inc.php0.1
    plugin/fversion.inc.php0.1
    plugin/turing.inc.php0.2
    plugin/chartable.inc.php0.2
    plugin/cvscheck.inc.php0.6

ダウンロード

ここに添付しました。御利用下さい。

  • filecvscheck.inc.php.17」←pukiwiki1.4.4rc1対応版
  • filecvscheck.inc.php.16」←pukiwiki1.4.3以前対応版
    リビジョン作成日内容
    filev0.172004/08/24pukiwiki1.4.4rc1対応版。みこさんの要望に対応。jjyunさんのパッチを適用。
    filev0.162004/08/24pukiwiki1.4.3以前に対応版。みこさんの要望(バージョン違い)に対応。
    filev0.152003/10/12自作プラグインへのアクセスも指定時間だけキャッシュ
    v0.142003/10/11CVSを指定時間だけキャッシュ
    v0.132003/10/11ブロック型でcvs versionsをページ内キャッシュ
    v0.122003/10/07debug/local指定時に一部のプラットフォームでpreg_match_allが異常(無限ループor突如終了)
    v0.112003/10/04Ratbetaさんの提案。local指定時に自作プラグインへのリンク
    v0.102003/09/24Ratbetaさんの提案。not found表記とCVSファイルへの直接アクセス
    v0.92003/09/23debug/ローカルに画像ファイルが無い場合フルパスが出る
    v0.82003/09/19debug/一部のプラットフォームでpreg_match_allが異常(無限ループor突如終了)
    v0.72003/09/15debug/localモードの時にファイルがソートされてない
    v0.62003/09/15ローカルのみ存在するファイルの表示
    v0.52003/09/14更新対象が無い場合の表示、referに対応
    v0.42003/09/13ローカルファイルが存在してバージョンが取得できない場合は除外
    v0.32003/09/13ブロック型に対応
    v0.22003/09/13Ratbetaさんの修正に対応
    v0.12003/09/13versionlist.inc.phpとmsearch.inc.phpから新規作成

アンケート

  • このプラグインに満足しておりますか?
    選択肢投票
    はい13
    いいえ8
  • 「いいえ」に投票した方に質問です。
    どのような修正を加えれば、よくなると思いますか?下記のコメントに記入して下さい。

コメント

  • Ratbeta? 2003-09-13 (SAT) 14:05:14

    面白そうなんでちょっと書き換えてみました。修正箇所は以下。

    83行目 : 修正前
     $outs[] = '|'. $s . $file .'|'. $lver .'|'. $cver ."|\n";
    83行目 : 修正後
     $outs[] = '|[['. $s . $file .':' 
     . $_cvscheck_messages['URL'] . '/' . $s . $file . ']]|'. $lver .'|'. $cver ."|\n";
    • sha 2003-09-13 (SAT) 14:22:05

      す、すばやいっ!というわけで、早速cvscheck.inc.php.2で対応です。

  • Ratbeta? 2003-09-13 (SAT) 20:37:23

    0.4入れてみました。ローカル(Apache1.3.28+php4.3.3)で動かないです。proxy.phpの86行目、タイムオーバーというエラーが出ています。

  • Ratbeta? 2003-09-13 (SAT) 20:39:41

    エラー文自体は、『Fatal error: Maximum execution time of 30 seconds exceeded in x:\x\proxy.php on line 86』との事。解釈間違ってそう(汗)。

    • sha 2003-09-14 (SUN) 06:22:30

      うーむ。なぜなんでしょう?私のところではちゃんと動いていて症状が再現できません。http_request()をとても素直に使ってるんですが。。。「dev:PukiWiki/1.4/Proxy」を参照。

    1. あなたのPukiWikiは、proxyを必要とするfirewallの中に設置されていますか?
    2. pukiwiki.ini.phpの$use_proxy以降の設定は正しいですか?
    3. cvsサイトは生きていますか?(私は出来てるんだから、もちろん生きてますよね)
    4. あとは何だろう?(もしチェックマニュアルを作るなら、こんなのも入れとくのかな(笑)→「電源コードはコンセントにささっておりますか?」)
  • Ratbeta? 2003-09-14 (SUN) 11:05:38

    あ、今やって見たら動きました。どうやら127.0.0.1と127.0.0.0/8が被っていたのが原因みたいです(^^;)。

    • sha 2003-09-14 (SUN) 21:35:20

      解決して良かったです。

  • sha 2003-09-14 (SUN) 21:34:00

    話は変わりますが、http_request()はすばらしいです。自作プラグイン/msearch.inc.phpでも使っていますが、これが使えるようになってネットワーク経由で何かするプラグインが、proxyとか気にすることなく、とても簡単に書けるようになりました。ほんとすばらしい。

    • sha 2003-09-17 (WED) 00:27:50

      すばらしい。。。とか思って、cvscheckを社内PukiWikiに設置してみたのですが、動きませんでした。proxy自体がユーザ認証を必要としたため社外へアクセスできなかったようです&sad;。proxy.phpはこういう場合に対応できるんでしょうか?

      • upk 2003-09-17 (WED) 11:58:26

        SOCKS5に対応できていないと記述してるんですけど、もっと詳しく説明をして欲しいということですか?まぁ、あのページは、開発者を想定したものなので、逆にあのレベルとしてRFCなどへのリンクをはっているんですけどね。

      • sha 2003-09-17 (WED) 13:50:45

        社内でSOCKは運用してないので、その点は問題になっておりません。HTTP/1.1(rfc2616)のProxy-Authorization:に対応していれば社内でも大丈夫なのですが、ここまで勉強してからproxy.phpを見てみたのですが、どうやら対応してなさそうです。

      • upk 2003-09-17 (WED) 16:49:09

        内容は了解しました。今は手出しできないので、調べて理解した仕様を書いておきますけど、Proxy-Authorization 対応するには、userid:pass の文字列を MIME の base64 でエンコードして、これを、このヘッダーの内容にすれば良いはずです。なので対応そのものは、sha さんならできると思いますよ。改修して OK なら、パッチでも提供してもらえれば、喜ぶ人も多いのではと思います。

      • upk 2003-09-17 (WED) 16:57:59

        よくみたら、ヘッダー名が違うものの、同じ対処してるので、そのコードがずばりですね。

        $query .= 'Authorization: Basic '.

        base64_encode($arr['user'].':'.$arr['pass'])."\r\n";

        な部分があるので、それに合わせると、こんな感じで

        $query .= 'Proxy-Authorization: '.

        base64_encode($arr['user'].':'.$arr['pass'])."\r\n";

        てな感じですかね。

        Proxy鯖用のIDとパスワードのパラメータが足りないと思うので、pukiwiki.ini.php に足して取得することになりますかね?

      • sha 2003-09-22 (MON) 20:47:03

        upkさん、ありがとうございます。上記のproxy認証に対応したパッチを紹介しておきました。興味ある方はご参照下さい。→ここ「dev:PukiWiki/1.4/ちょっと便利に/ユーザ認証付きproxyへの対応

      • upk 2003-09-24 (WED) 00:36:10

        ちょっと便利にというレベルじゃないと思うので、dev 復活後に備忘録程度に、BugTrack にでも計上しておいて下さいよ。一応、別件もあってぱんださんにはお願いしておきましたけども。

    • upk 2003-09-17 (WED) 20:25:26

      ところで、この串って、どういうものなのでしょうか?Authorization:だって、フォームに自動的に入力を補う機能に過ぎないし、Proxy-Authorization:も同じく串にしかしない。というものなんですよね。私のところでは、NTLM で認証してないと、串が使えないので、PukiWiki の串対応では、そもそも無理なので、どうしたものぞ。と思っていました。そのヒントになればなぁ。なんですが。

    • sha 2003-09-17 (WED) 23:02:42

      社内の串はSquidとかいうものでした。社外アクセスしようとするとダイヤログが出てID,PWの入力を促します。

      下記は気が向いたら勉強してみようかなと思っているページです。ご参考まで。
      NTLM認証の仕組み」 「NTLM認証の実装md4のソースRFC1320

  • sha 2003-09-17 (WED) 21:37:21

    現在Proxy-Autorization: Basic XXXX....Xとかでプロキシ認証を経て社外へアクセスできることを確認しました。ところが、Windows XP Pro, Apache2.0.46, PHP4.3.3RC1, PukiWiki1.4rc3環境でpreg_match_allが無限ループに陥っているかのような症状(まだ未確認)に悩まされています。プラットフォームで動作が違うのでPHPのバグっぽい動作です。現在仕事で大急ぎの締め切りを抱えているので、この調査を来週まで先送りします。申し訳なし。

    • sha 2003-09-19 (FRI) 12:55:35

      なんか、PHP4.3.3, PukiWiki1.4rc4でも同じでした。まいった。

    • sha 2003-09-19 (FRI) 13:56:55

      来週へ先送りとか言ってる割に現実逃避(笑)。大丈夫な正規表現を発見。どうやらマッチングに時間がかかってタイムアウトスタックオーバーフロー?していたのかもしれません。そこで「一回だけ使用するサブパターン(?>)」という技を使って高速化を図りました。これでうまく行きました。

      ダメだった例

      preg_match_all('/<tr[^>]*>((?:.(?!<\/tr>))+.)<\/tr>/is',$html,$matches)

      今回の対処の例。効果的だったのは2つ目の(?>)

      preg_match_all('/<tr(?>[^>])*>((?>.(?!<\/tr>))+.)<\/tr>/is',$html,$matches)
  • merlin 2003-09-18 (THU) 03:03:16

    ううむ local 側でなんかversion取得失敗してるみたい。 merlin:Plugin/Demo/cvscheck.inc.php

    • sha 2003-09-18 (THU) 04:33:36

      もしかして、newpage2.inc.phpのバージョン表記の部分のファイル名がnewpage.inc.phpになっていたりしませんか?誤記の場合もあるとすると今の仕様じゃ危険かな。versionlist.inc.phpのまねをしたんだけど。。。実際のファイル名を使うべきかな。

    • merlin 2003-09-18 (THU) 11:21:35

      おおあたりでした。 m(_._)m こちらの fversion だと ファイル名でやっているのでそこで違いが出たみたいです。

    • sha 2003-09-19 (FRI) 07:40:11

      そういえば、pukiwiki.phpをindex.phpにrenameして使っていたりするので、実際のファイル名よりはバージョン記述のファイル名で比較した方がありがたかったりするのです。他のファイルでそういう状況は無さそうですが。

  • Ratbeta? 2003-09-22 (MON) 14:44:11

    ローカルに画像が存在しない場合、altが表示される訳ですが、これが直パスなのですが、ファイル名のみに変えられませんでしょうか?phpで出力してる部分が見つからなかったので差分はなしです(^^;

    • sha 2003-09-22 (MON) 21:11:43

      あ、ほんとだ。どうしよう。表示部分は、一番最初のRatbetaさんの修正とほとんど同じなのですが、これって画像かどうかで動作を変えないといけないのかな?

    • sha 2003-09-23 (TUE) 11:15:22

      いやぁ、姑息な技で対応してしまいましたぁ。cvscheck.inc.php.9を御利用下さい。

      元々画像を表示したかったわけではないので、ファイル名の見かけは変わらなくとも拡張子で画像だと判断されないようにしてみました。要するに、各ファイル名の最後に&nbsp;をくっつけました&huh;

    • Ratbeta? 2003-09-23 (TUE) 21:27:39

      リンクの方の仕様だったんですね。てっきりcvscheck.inc.phpの方で設定しているものと思い込んでしまって…。失礼致しました。

  • Ratbeta? 2003-09-23 (TUE) 21:56:51

    いろいろ修正してみました。個人の好みがあるので使用するのは適当にしてください。

    24行目 : 修正前
    'title_name'  => 'plugin',
    24行目 : 修正後
    'title_name'  => 'name',
    117行目 : 修正前
    $outs[] = "|[[$s&nbsp;:$url/$s]]|$lver|$cver|\n";
    117行目 : 修正後
    if(eregi('\.[gp][in][fg]$',$s)){
     $curl = "$url/$s?rev=$cver&content-type=text/vnd.viewcvs-markup";
    }else{
     $curl = "http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/*checkout*/
    pukiwiki/pukiwiki/$s?rev=$cver&content-type=text/plain";
    }
    if(eregi('\.[gp][in][fg]$',$s)){
     if(!$lver){
      $lver = "not found";
      $lurl = "$url/$s?";
     }else{
      $lurl = "$url/$s?rev=$lver&content-type=text/vnd.viewcvs-markup";
     }
    }else{
     $lurl = "http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/*checkout*/
    pukiwiki/pukiwiki/$s?rev=$lver&content-type=text/plain";
    }
    $outs[] = "|[[$s&nbsp;:$url/$s]]|[[$lver:$lurl]]|[[$cver:$curl]]|\n";
    150(165)行目 : 修正前
    $outs[] = '|'. $s . $file .'|'. $lver ."|\n";
    150(165)行目 : 修正後
    $outs[] = '|[['. $s . $file .':http://pukiwiki.sourceforge.jp/
    ?%E8%87%AA%E4%BD%9C%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%2F'
    . $file .']]|'. $lver ."|\n";
    • sha 2003-09-24 (WED) 00:00:12

      上の差分を見た感想です。多機能になっていて、すばらしいです。ただ、いくつか難点があります。例えば、ローカルバージョンは設置者が修正して独自に振っている場合があることや、自作プラグインがpukiwiki.orgにあるとは限らない点です(現に私も独自の修正をしたり公開してないプラグインを設置したりしてますし、そもそも旧バージョンは設置済みなのだから取得する必要はないのでは?)。あと、できれば画像の判定はバージョン比較の本質じゃないのでなるべくしたくないものです。でも、'not found'表示と、$curlはいいアイデアなので是非取り込みたいです。cvscheck.inc.php.10にて対応。

    • Ratbeta? 2003-09-24 (WED) 14:50:28

      画像の判定はバージョンの比較に使用するものではありません。画像だけCVSの表示パスが変わるので…。ちなみにこの判定をしない場合、プレーンテキストとして表示してしまいます。PukiWiki.orgへのリンクを設定したのは、最新版がそこにある(可能性が高い)からです。正規表現でPukiWikiにページが存在するかどうかを見るのも良いかもしれません。CVSの独自修正版も同じく(正規表現とか私は得意じゃないので…)。

    • sha 2003-09-24 (WED) 15:16:33

      画像の判定がバージョン比較と関係ないので遠慮したかったのですよ。その点では、cvscheck.inc.php.10は画像判定してませんが、そこそこうまくいってるんじゃないかなと思います。それから、pukiwiki.orgへのリンクが存在する可能性が高いのは私も納得します。その機能が実装できれば便利ですしね。でも実際に存在しなかった場合に宛先のないリンクが出てしまうのが、公開プラグインとしてはとってもまずいです。クリックすると新規ページが作られてしまいます。それを避けるために事前に確認するとなると、該当ファイルごとにネットワークアクセスが発生して表示が著しく遅いものになってしまいます(本当に遅いです)。それもまた避けたいところです。そのあたりも考えてみますと、上のRatbetaさんの提案の中ではcvscheck.inc.php.10で取り込んだ部分までが現実的だと思います。

  • Ratbeta? 2003-09-24 (WED) 15:18:47

    独自修正版は、CVSとバージョンを比較して、CVSのバージョンより高ければ表示しない、というのはどうでしょうか?

    • sha 2003-09-24 (WED) 15:28:12

      なるほど、独自修正版についてはそういう手もありますね。でも、そもそも旧バージョンを取得しやすくするのは間違いのもとだと思いませんか?「入手したら同じものだった」というケアレスミスを誘発しやすくなります。そもそも押してはいけないボタンは付けないのがGUIとして親切だと言われています。旧バージョンが欲しい場合にはファイル名をクリックすれば行くことは出来ますので手段は用意されてますし。。。

    • Ratbeta? 2003-09-24 (WED) 15:43:34

      表示してリンクだけ外してしまう、というのはどうでしょうか?これなら旧バージョンを入れる可能性も少なくて済むと思うのですが…。

      • sha 2003-09-24 (WED) 15:49:22

        うーむ。それはリンクされていないURLの表示を行うという意味でしょうか?もしそうだとすると、表示が長すぎますし(画像のURL表示でRatbetaさんも指摘してましたよね)。。。旧バージョンを手にいれる手段はあるのだから、これはこれでよしとしませんか?

    • Ratbeta? 2003-09-24 (WED) 15:48:35

      同じく独自修正版ですが、SourceForge側で用意されている差分のURLを追加する、というのも効果的かもしれません。pukiwiki.ini.phpなどの設定ファイルなんかでも差分を使うと修正しやすいですし。

      • sha 2003-09-24 (WED) 15:52:40

        これについてもう少し説明してください。独自修正版について差分が公開されていることを想定しているということでしょうか?

    • Ratbeta? 2003-09-24 (WED) 16:08:33

      説明不足でしたね。独自修正版の差分ではなくて、CVS版の旧バージョンと新バージョンの間の差分です。毎度毎度DLして修正して…では面倒だと思いますので。勿論、独自修正版でなくても有る方がいいかも知れません。

    • merlin 2003-09-24 (WED) 16:32:55

      CVSへ行けば 旧バージョンとの差分が取れるので CVSへのURLだけでいいと思います。そこからどうするかは ユーザーの部分になるのでは? 私の場合、独自部分はパッチにしてあるので新バージョンに対してそれを当てるって感じで運営しています。ただ 修正が大きくて当たらない場合も結構あるし、たいてい独自部分は、修正される部分とぶつかることが多いので どっちからやってもうまく当たらない可能性が高いかなぁなんて思ってます。

  • sha 2003-09-24 (WED) 16:18:43

    pukiwiki.orgの自作プラグインにページが存在するかどうかを、表示時間への影響を少なくチェックできる方法を思いつきました。Ratbetaさんの提案機能がうまく実装できるかも!今時間がないので後日。

    • sha 2003-10-04 (SAT) 01:05:28

      遅くなりましたが、cvscheck.inc.php.11でRatbetaさんの提案の一部に対応してみました。localオプション指定時に自作プラグインにページがあればリンクを張ります。いかがでしょうか。

    • sha 2003-10-07 (TUE) 18:38:01

      Windows XP Pro, Apache2.0.46, PHP4.3.3にて、cvscheck.inc.php.11localオプションでpreg_match_allの正規表現に関して再び以前と同じ症状(ページが表示されない)が現れました。しかし、同じ対策をしても改善できません。たぶんPHPのバグなんだろうなぁ。。。困った。

    • sha 2003-10-07 (TUE) 22:48:32

      cvscheck.inc.php.12で多分対応できたかも。どうやら、preg_match('/a(?:.)+z/',$str)のとき、aとzの間が約1KB程度あると無限ループになったり、エラー無しの異常終了をしたりするようです。/a(.)+z//a.+z/では、このような症状が起こりません。(?>.)+, (?:.)+などの使用で起こりました。

  • Ratbeta? 2003-10-04 (SAT) 10:58:38

    いい感じですね~。早速使わせていただきました。URLのwwwは無い方が良いかなと思いますが、どうでしょうか?この辺は好き好きかもしれませんが…。正規表現か何かでリビジョンをチェックでき…は言わなかった事に(^^;

    • sha 2003-10-05 (SUN) 22:36:54

      ありがとうございます。URLの件は、お好みで変えていただくということで。ちなみに、正規表現でのリビジョン取得はv0.1のときからやってたんですけどねん。

    • Ratbeta? 2003-10-07 (TUE) 22:17:16

      いやリビジョン取得ってのは自作プラグインのです。だから抹消線なわけで…。気にしないで下さい(汗)。

  • sha 2003-10-11 (SAT) 01:47:35

    cvscheck.inc.php.13でブロック型で使ったときにcvs versionsをキャッシュしました。これで、#cvscheckと#cvscheck(local)を同一ページに並べている場合に、2番目以降でCVSへのアクセスを省略するので少し早くなります。

  • Candyz 2003-10-29 (WED) 14:48:01

    The dufault CVS Repository is http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/pukiwiki/pukiwiki . Recently I setup a CVS Repository for PukiWiki.tw. So I modified some code to use my CVS Repository. See here for detail. And you can download the code which I modified on My CVS Repository

    • sha 2003-10-29 (WED) 15:33:43

      OK! I am glad to know it. You can freely modify the plugin. In fact, before I read the comment, I have already checked it on your site.

  • 名無しさん 2004-03-30 (TUE) 19:05:31

    PHP4.3.5に更新したところWindows2000、Apache2.0.49でApacheがお亡くなりになります。

  • sha 2004-03-30 (TUE) 22:30:40

    ご報告ありがとうございます。Apacheが落ちるとは困ったものです。PHP4.3.5RC2-devでもWindows XPとの組み合わせのときに、preg_matchなどでまだ問題が残っていたのは把握しておりまして、PHPにバグレポートを出していたのですが、PCRE(正規表現ライブラリ)の制限だと言って、つまりPHPのバグではないと責任逃れ状態です。困ったものです。

    ちなみに、Apache-1ではうまく動作しているという報告もありまし、Linux等では問題なさそうです。バグ対応を待っていても直りそうもないので、バグを回避するアルゴリズムに変更するしかないのかもしれませんね。現在の記述がシンプルなだけに悔やまれますが。。。

  • 名無しさん 2004-07-04 (SUN) 16:41:23

    PHPのバグレポートで見つけることができませんでした(^^;。PHP4のバージョンもいくつか上がりましたが、回避アルゴリズムにするしかないかもしれませんね。

  • みこ 2004-07-28 (WED) 14:58:40

    vote.inc.php(1.15) と vote2.inc.php(0.12) を一緒に置いたら、vote.inc.php のバージョンが1.14 と表示されてしまうんですけど・・・ほかにも、attach.inc.php(1.41) と attach.inc.php.40(1.40) と置いていたら attach.inc.php.40 のほうのバージョンが表示されてしまいます。

  • jjyun 2004-08-13 (FRI) 17:37:05

    PukiWiki-1.4.4rc1上でcvscheck.inc.php を試しています。PLUGIN_DIRやLIB_DIRなどを指定して、CVSサイトとローカルサイトでディレクトリの名前や位置を異なるように設定しているのですが、このような状態でも、それぞれのディレクトリを対応づけて比較できるようにしていただけないでしょうか?
    私の方でとりあえず動くようにしたコードがありますので、v0.15との差分をここ(filecvscheck.mod.patch2)に添付しておきます。(修正箇所をちょっとだけ追加したので差分を、patch2に差し替えました2004-08-15)

  • sha 2004-08-16 (MON) 02:52:23

    名無しさんへ。PHPバグレポートはこちらです→http://bugs.php.net/bug.php?id=25798

  • sha 2004-08-16 (MON) 03:09:15

    みこさんへ。現在の仕様です。バージョン違いのファイルを同じフォルダに置いてはいけません。ファイルの拡張子はチェックせずに、ファイル内の$Id:行のファイル名とバージョンを読みとって比較しますので。voteとvote2の症状の原因はvote.inc.phpの1.14が同じディレクトリに置かれているからではないでしょうか?voteのバージョン比較にvote2.inc.phpは影響しません。

    仕様としては、まぁ、改善の余地がありますね。現在は複数ファイルがあれば、バージョン情報を上書きしていますが、数値的に最も大きいバージョンを採用するようにしてみましょうか?すると、同じフォルダにバージョン違いを置けるようにはなりますが。。。

  • 簡単にできるならば、お願いします。_(_ _@)_ -- みこ 2004-08-23 (月) 17:40:56
  • jjyunさんのパッチと、みこさんの要望に対応しました。御確認ください。 -- sha 2004-08-24 (火) 04:35:16
    • v0.17を頂き、確認しました。私のパッチでは手を抜いていた、ローカルファイルの表示もばっちりスマートに決まってますね。&smile; -- jjyun 2004-08-29 (日) 10:14:48
  • すみません、返事が遅れました。ありがとうございます。現在はcvsよりバージョンが下のものは赤文字で表示しています。 -- みこ 2004-10-15 (金) 03:09:15
    232c232,236
    <                       $outs[] = "|[[$s&nbsp;:$url/$s]]|$lver|[[$cver:$curl/$s?rev=$cver]]|\n";
    ---
    > if ($lver > $cver) {
    >                       $outs[] = "|[[$s&nbsp;:$url/$s]]|COLOR(green)\{$lver}|[[$cver:$curl/$s?rev=$cver]]|\n";
    > } else {
    >                       $outs[] = "|[[$s&nbsp;:$url/$s]]|COLOR(red)\{$lver}|[[$cver:$curl/$s?rev=$cver]]|\n";
    > }
  • 更新されているファイルを一括ダウンロード機能が欲しいかなと思いました。無理ですかね? -- 2004-12-05 (日) 08:53:19
  • ローカルとリモートのファイルの差分へのリンクも付けてほしいです。 -- 2005-01-16 (日) 22:44:26
  • リモートの更新日付も表示されるとありがたいです。さすがに昨日今日更新された物は様子見したい -- 2005-01-26 (水) 21:02:47
  • 重宝しております。 -- hirokasa 2005-06-26 (日) 09:08:02

添付ファイル: filecvscheck.inc.php.17 1668件 [詳細] filecvscheck.inc.php.16 1558件 [詳細] filecvscheck.mod.patch2 1396件 [詳細] filecvscheck.inc.php.15 1541件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-06-15 (火) 17:37:03
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.442 sec.

OSDN