nDiki : RCS

2003年4月22日 (火)

[ WiKicker ] リビジョンが追加されていかない

あれ、NaneyOrgWiki のリビジョン管理(RCS)がうまくいってないみたい。 リビジョン番号があがっていくページもあれば、そうでないページもある。 Why?

で確認してみると、RCS の lock まわりの問題。 CGI プログラム経由の ci/co を呼び出しはユーザ名 root でロックをかけようとするのか。 suEXEC で作成されているファイルの権限は naney になっているので、locker も当然 naney になっていると思ったのだけれど、勘違い。 このため、

  • WiKicker に移行した後、新規作成されたページ → CGI プログラム経由で root による lock 獲得が成功しリビジョンが上がっていく。
  • ユーザ naney で import ツールを使って YukiWiki2 からコンバートしたものは、naney によって lock がかかっているので、CGI プログラムからは lock が獲得できず check-in できない。

という事になっているようだ。 とりあえず naney で

 rcs -U RCS/*

して、non-strict モードに。 これで、どのページもリビジョン管理できるようになったはず。 しかし、現状だと

  • import したもの non-strict mode / locked by naney
  • 今日まで新規作成されたもの non-strict mode / locked by root
  • 今日以降新規作成されるもの strict mode / locked by root

となり気持ち悪いなぁ。 今は、常に lock 状態になるようにしているんだけれど、non-strict mode + 非 lock 状態というふうになるようにすべきかも。

スポンサード リンク
[ 4月22日全て ]

2003年4月23日 (水)

[ WiKicker ] SunOS 5.6 にインストール

結局flock 問題は、File::Flock モジュールを使う事にする。 $^O eq 'solaris' な時は File::Flock::lock を使うようにコードを修正。

それから、RCS まわりでも問題。

 Warning: missing newline at end of file /tmp/...

といった感じの警告が出て期待した結果が得られない。 調べてみると rcsdiff の呼び出しで警告。 実際には diff が吐いている。 Sun の diffGNU diff ではファイル末処理が違うようだ。 ということで、こちらは diffutils-2.8.1 と rcs-5.7 を home の下に入れて解決。

ふう、これで WiKicker

で動く事を確認。都合5つ(SunOS は一つのホストで2個動かしている)。 今の所の注意点は

といったところか。

[ 4月23日全て ]

2004年4月2日 (金)

[ WiKicker ] 久しぶりにメンテナンス

CVS のリポジトリにチェックインしていなかったファイルが沢山あった。 コードの変更内容を確認しつつチェックイン。

WiKickerRCSバージョン管理をしているのだが、NaneyOrgWiki だと一部のページでかなりリビジョンが上がってきている。 それらはだいたいコメントフォームによる追記によるもの。

ということで以前から検討していた「追記だけの場合はチェックインしなようにする」オプションを追加する予定。

DiKicker の方も未実装のコードを実装しようとしたが、記憶が薄れてしまっているので今日はやめておく。

[ 4月2日全て ]

2004年4月4日 (日)

[ WiKicker ] RCSファイルのリビジョン間引き

以前からWikiPageの編集で「連続する追記はチェックインしない」というオプションを検討している。 実装の前に「既存のRCSファイル中の連続する追記を間引く」というツール(rthin)を作って効果を検証してみた(どこかに転がってそうユーティリティだが見つけられないのでPerl実装)。

  • rlog で '+x -0' なリビジョンが連続した場合は削除対象に
  • rcs -o で削除
  • メジャーリビジョン番号変更の境目では間引かない
  • ブランチは考慮して実装していない

で現在の NaneyOrgWiki で間引いてみたところ 9.5MB の RCSファイルらが 9.0MB になった。 容量的には劇的に減る訳ではないな。 リビジョン数が減るのは精神的に良いが。

これなら無理に WiKicker実装しなくてもいいかも。 rthin をたまに走らせるだけで十分のようだ(実際にはロックを考慮しなければならないけれど)。

[ 4月4日全て ]

2004年6月23日 (水)

献本がきた

[ コンピュータ書籍 ]

http://www.naney.org/img/2004/U/U2004-06-23-0001.jpg http://www.naney.org/img/2004/U/U2004-06-23-0002.jpg

www.naney.org が書籍で紹介される件献本ソフトバンクパブリッシングからきた。

ハッキングLinuxザウルス」という本で、WalWiki の 塚本牧生氏が共著で書かれているもの。Zaurus 自体は持ったことがないな。

RCS/CVS 関連のページということで紹介していただいている。 感謝。

[ 6月23日全て ]

2004年8月10日 (火)

過去の今ごろ

過去の8月10日より。

  • RCSファイルを non-strict locking へ
    • NaneyOrgWiki は現在17MB強データを食っている。カレントページが5MB弱でRCSファイルが10MBぐらい。比率的にはRCSファイルは思ったほど食ってない。しかし無駄なリビジョンもたまってきているだろうし、そろそろ管理ツールが必要か。
[ 8月10日全て ]

2005年4月4日 (月)

WiKickerWin32 対応

WiKicker をベースにちょっとしたWebアプリケーションを作ろうという話になったのだが、そういえば Win32 対応していない。

ということで ActivePerl で動くように手を入れる。 まずは make test が通るようになるまで修正。

  • RCSまわり
    • WindowsRCS が「標準でRCSファイルに ',v' suffix をつけない」という振る舞いに対応
    • TZ環境変数を事前に設定しておかなければならないことに注意
  • uptime
    • Windows にコマンドがないので、処理をバイパス
    • 後程代替コードを用意

あたりを修正してだいたい対応できたようだ。 同梱している DiKicker の方は DB_File::Lock の make test が通らないので、とりあえず使用不可ということで。 WiKicker の方も flock まわりがきちんと動いているか確認する必要があるな。

[ 4月4日全て ]

2005年4月10日 (日)

Windows 上での Apache 2.0.53 では PATH_INFOシフト JIS

WiKickerWindows 上での動作確認の続き。 WiKickerPPM パッケージを作成して ActivePerl 5.8.6.811 上にインストール。 依存するモジュールで、ActivePerl に入っていないものは以下の通り。

既に手元で PPM パッケージ化済みなので、これもインストールしておく。

後は RCS をパスの通っているディレクトリに入れてタイムゾーンを設定。

 TZ=JST-9

CGI プログラムとして実行。 お、表示できた。 書き込みはと。

エラー

予想していたけれど、sendmail に依存していたところ。 sendmail が見つからない場合はメールの送信をスキップするように修正。

これでうまく動くかなと思ったら、日本語名のページを作るとうまく表示できない問題を発見。

PATH_INFOシフト JIS で渡される

WiKicker では UTF-8 文字列をURIエスケープして WikiPageURLを生成している。 このURIにアクセスされると WiKicker は、PATH_INFO から WikiName を取り出す。 この文字列がシフト JIS になってしまっている。

Windowsファイル名に使用する charset にあわせて、Apache が変換してしまっているようだ。 調べてみると他の WikiEngine でも同様の問題にあっているという記事が見つかった。

将来の 2.0 系でパッチが取り込まれて修正されるとか、そうでないとか。

現状どうするかなぁ。 WiKicker 側でシフト JIS から UTF-8 に戻すというのもできない事はないけれど、あまりやりたくはないな。 いったんシフト JIS を介しているという時点で、シフト JIS に無い文字の扱いに関する問題をかかえてしまっているし(Apache が)。

対策案:

  • Apache 1.x 系を使う (まだ未確認だが、こちらだと勝手に変換されないらしい)
  • WiKickerPATH_INFO を使わないオプションをつける(URI Query Component は勝手に変換されない)
  • WiKicker 側でシフト JIS から UTF-8 に変換する
[ 4月10日全て ]

2005年5月11日 (水)

WiKicker 0.26 と ActivePerl 5.8.6.811 (Win32)

0.26 での依存モジュールの再確認。 ActivePerl 5.8.6.811では、追加で

  • Algorithm::Diff
  • Jcode
  • Log::Log4perl
  • TimeDate (Time::Zone)
  • MIME::Base32

が必要。 それから RCS。動作確認は Apache で。

ロックまわりがうまく動いているかちょっと不安なのでテストが必要だが、一人でメモ用に使う分には問題なく使えるようになったかな。

[ 5月11日全て ]

2006年10月3日 (火)

www.naney.org 容量超過警告につきダイエット開始

ホスティングサービス会社より、www.naney.org契約容量超過との警告のメールをもらった。まずい。

ということで急いでデータの整理を開始。

これでもまだまだ。コンテンツ系も、かなり整理する必要がありそうだ。 できれば他からリンクされているコンテンツについては対応する新しいものへリダイレクト設定しておきたいのだが、作業時間的にはちょっと無理。

[ 10月3日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.060744s / load averages: 0.71, 0.58, 0.56
nDiki by WATANABE Yoshimasa (Naney)
Powered by DiKicker