StatCVS

StatCVS
http://statcvs.sourceforge.net/

ここをみてちょっと試してみた。
http://d.hatena.ne.jp/masanobuimai/20040616#p1

CVSNT の cvs log は上記のパッチをあてても死ぬときがあるので CVSNT のコマンドを調べる。

 cvs log --help
 -x      cvsnt 2.x compatible output (default).
 -X      cvs 1.x/RCS 5.7 compatible output.

とあるので、cvs log -X > cvslog とすると上記のパッチをあてなくても動いた。

もちろん出力されるHTMLには charset=ISO-8859-1 がハードコーディングなので日本語化ける。
デベロッパーがドイツ人なんだから、ちょっとは気を利かせろよという感じ。


最新版のソースをとってきた修正をかけてみることにした。
maven 対応なのにコンパイルが通らない。まったく。。。
lib フォルダを作ってそこに jar をすべて突っ込み、ant でコンパイルできるようにする。
build に jfreechart.jar を解凍して、ant から unjar タスクをはずす。

-output-encoding ENCODING でとれるように変更する(指定なしはもちろんデフォルトエンコーディング)

最新版は viewcvs 対応になっているが、
ファイル名はもちろんURLエンコーディングされていないのでここも書き換える。
とりあえず viewcvs 経由でファイルの中味をみれるようになった。
python standalone.py で確認する。
Apache経由だと日本語ファイルはなぜだめなんだろう?

 >cd test
 test>cvs log -X > cvslog
 test>cd ..
 >java -jar statcvs.jar -viewcvs http://localhost/viewcvs/test// test\cvslog test -output-dir hoge

ファイルが少ないとだからなに?という感じであまりメリットを感じないが、
ファイルがたくさんあるとその人がしたコミット時のファイルがでるので結構便利かも。
ファイルの変更履歴は viewcvs と連携しているのも結構よい。


ちょっとしたコードは Eclipse の スクラップブックではなくて、
groovysh 上で確認したがやっぱり Groovy は便利だな。