WebSVN
webdav の デフォルトの svnindex.xsl で作られるページでは最新のリビジョンしか見ることができないので入れてみる。
今のところバージョンはこんな感じ。
- websvn-1.61
- apache-2.2.0_4
- mod_php5-5.1.1,1
- subversion-1.3.0.r4_2
- enscript-a4-1.6.4_1
- ja-nkf-2.05
インストール
% portinstall devel/websvn
ファイル一式は、''/usr/local/www/data-dist/WebSVN'' にインストールされる。
適当な場所にコピーするなりして使う。
php で書かれているらしい。
基本の設定
''
// svn と svnlook の path $config->setSVNCommandPath("/usr/local/bin"); // repository の 名前 と path $config->addRepository("WebDAV", "/home/www/repos"); // 言語の設定。UTF-8 にする。 // include("languages/japanese-euc.inc"); // (Almost Unix/Linux/BSD) // include("languages/japanese-jis.inc"); // (ISO-2022-JP) // include("languages/japanese-sjis.inc"); // (Windows) include("languages/japanese-utf8.inc"); // (FedoraCore/Max OS X/BeOS) $config->setInputEncoding("UTF-8"); $config->setOutputEncoding("UTF-8"); // このままだと、ログが化けたり、日本語ファイル名が化けたりする。 // これは、svnlook が apache の環境変数 LANG を見ているから。 putenv('LANG=ja_JP.UTF-8');
'''enscript''' を使ってソースコードをキレイに表示させる。
インストール。
% portinstall print/enscript-a4
''/include/config.inc'' で設定する。
// enscript の path $config->setEnscriptPath("/usr/local/bin"); $config->setSedPath("/usr/bin"); // たぶん設定しなくていい // コメントを外す $config->useEnscript(); // Tex も enscript で見たい人向け // Tex は contentType が指定してあるんで、unset unset($contentType[".tex"]); $extEnscript[".tex"] = "tex";
ソースコードのコメントとかが化ける。
いつもUTF-8 で書いてるわけじゃないんで化けるもんは化けるけどなんとかしたい。
以下のスクリプトを用意して、''/usr/local/bin/websvn'' に置いてみる。
#!/bin/sh export PATH=/usr/bin:/usr/local/bin enscript "$@" | nkf -w # w は utf-8で出力 の意
設定ファイルの enscript path を変更。
$config->setEnscriptPath("/usr/local/bin/websvn");
# どこかで設定できるのかもしれないけど。
今のところ、これでいい感じに動いてる。
参考にしたページ
- これでいいのだ (2004-12-07)
- LunaTear WebSVN -文字化けとの闘い-