hudsonのChangelogsが出ない件について

hudson1.28でSubversion指定してるんだけど,なんでかChangelogが表示されない.こっちの環境バグかなと調べてみたら,単に未実装なだけだった.orz


SubversionSCM.javaのcalcChangeLog()に,しっかり

// TODO: changelog format conversion

って書いてあった.


ふーん,そっかAntのhttp://ant.apache.org/manual/CoreTasks/changelog.html使ってんのか.「svn log --xml」で得られるXMLをCvsChangeLog形式に変形できりゃ,なんとかなるんだろうな.
まあ仕方ない.しばらく様子見としよう.
#自分で組んでみようとは思わない人.:-D


ps.
AntってPVCSやStarTeam, VSSはOptional Taskにあるのに,Subversionはまだないんだよね.いい加減あってもよさそうなもんだがなぁ.:-(

trac-post-commit-hookが便利すぎる

Subversionのコミットログに「#nn」とか書くと,Tracのチケットにリンク張ってくれて便利なんだけど,チケットからチェンジセットに逆リンク張るのは手作業でやっていて,イマイチと思ってたんだけど,これにて解決.


ここを参考にして,Subversionにpost-commit hookを設置してみた.
http://yamashita.dyndns.org/blog/247
「/usr/share/doc」に所定のスクリプトは置いてなかったので,ここから取得(158-157のDBバージョンチェックでコケるんでコメントアウトしといた).
trac-post-commit-hook


post-commitはこんな感じ.
Fedoraで動かしてんだけど,「export LANG=ja_JP.UTF-8」がミソらしい.

#!/bin/sh
REPOS="$1"
REV="$2"

export LANG=ja_JP.UTF-8
LOG=`/usr/bin/svnlook log -r $REV $REPOS`
AUTHOR=`/usr/bin/svnlook author -r $REV $REPOS`

/usr/bin/python ${REPOS}/hooks/trac-post-commit-hook ?
 -p "/foo/trac/hogeproject" ?
 -r "$REV"    ?
 -u "$AUTHOR" ?
 -m "$LOG"

「refs #nn」ってやれば,チケット側にもコミットログが書き込まれて,さらにチェンジセットへのリンクも張ってくれる(「closes #nn」でチケット閉じちゃう)..


やー,いいわこれ.Trac使いたいからSubversion使ってるって言ってもいいくらいだ.