Summary
このページでは、ViewCVSを導入して、Subversionのリポジトリをブラウザから閲覧する方法についてメモしています。最新版では、ViewVCに名前が変更され、標準でSubversionに対応しています。
インストール
まず、以下をインストールしておきます。
Apache2
Active Python 2.3.2
mod_python-3.1.2b.win32-py2.3
ViewCVS for Windows
rlog.exe, rcsdiff.exe, co.exe
これらのインストールについては、次のサイトなどで解説されているので参考にしてください。
httpd.confは、以下のようにしています。
LoadModule python_module modules/mod_python.so
ScriptAlias /viewcvs "C:/Program Files/viewcvs-1.0-dev/www/mod_python/viewcvs.py"
<location /viewcvs>
AddHandler python-program .py
PythonPath "[r'c:\\Program Files\\viewcvs-1.0-dev\\lib']+sys.path"
PythonHandler apache
PythonDebug On
AddDefaultCharset UTF-8
</location>
viewcvs.confの編集
次に、viewcvs.confをSubversion用に修正します。
svn_roots = svntest: c:/svn/hoge, gachk: c:/svn/gachk
または、
#リポジトリの親パス
svn_parent_path = c:\svn
#上記のパスにあるリポジトリのどれをデフォルトにするか
default_root = hoge
cvs_rootsは念のためコメントアウトしておきます。
#cvs_roots
languagesの指定方法はよくわからないので、とりあえず以下のようにしています。
languages = ja-JP
Python 2.3 bindings for Subversionのコピー
最後に、以下のフォルダをC:\Python23\Libなどにコピーします。
ここから、svn-win32-*.*.*_py.zip(インストールしたSubversionに対応するバージョンを使用すること)をダウンロードして解凍するか、C:\Program Files\Subversion\pythonにあるものを使用することができます。
確認
http://localhost/viewcvs/ にアクセスできれば成功です。

その他
diff
スタンドアロン*1では、文字化けもないし、diffも問題なく動作しているようです。ただ、どうしても CGI Mode on Apache や、Mod_Python Mode on Apache で、diffが正常に動いてくれません。何が悪いのやらさっぱりです…。
WebSvnでも、diffだけうまくいかないから、もしかしたらApacheの設定がまずいのかもしれません…。
Apacheをサービスとして起動していましたが、システム環境変数でdiffにPathを通していませんでした。
Reference
Comment