2008年 01月 11日

svn log と Trac につけたはてなスターをつかって ChangeLog を自動生成するアイデア

svn2cl がアレなのはノイズが多いからだよなぁと思って (でも ChangeLog と svn log をどっちも書くのはめんどう)

 ~/coderepos/lang/perl/Config-Pit/trunk
$ changelog-with-hatenastar.rb
ChangeLog of http://svn.coderepos.org/share/lang/perl/Config-Pit/trunk

2008-01-09  SATOH Hiroh <cho45@lowreal.net>

        * [interface] @4310:

            Implement pipe function for output stdout (but tty)
            Always notice profile switching for ppit ui.


        * [interface] @4309:
                 like ruby pit

        * [bug] @4282:

            Add local not to violate global env.

あんま☆つけてなくておもしろくないというか、タグの changeset は trunk の log に残らないので release のログは工夫しないとだせないことに気付いた…… あとマルチユーザを考慮してないのでまずい (4390 は SATOH さん(笑)のコミットではない)

この方法の利点は、はてなスターによってあとからつけられるので、「このチェンジセットをもうすこし詳しくして ChangeLog に書きたい」みたいなのを簡単にできるところと、他の人のチェンジセットにも情報増やせるところ。ただ、はてなスターの quote は quote なのでブックマークレットとかつかって書かないといけないのはめんどい。

ちゃんと使うには

  • svn log に書く内容からタグを抽出 (簡単)
  • はてスタ簡単につけるブックマークレット (UI がめんどい)
  • 出力の形式をまともに (めんどい)

とかやらないといけない。ChangeLog を手書きするのと、svn log から抽出しつつ、はてスタで補足するのとではどっちが楽かってなんか微妙だ。


ここまで書いてきづいたけれど、ChangeLog を先に書いて、svn di ChangeLog した内容を svn ci 時のデフォルトにすれば、すくなくとも ChangeLog と svn log をどっちも書くのはめんどう は解決できるからそのほうがいい気がした。あれー

tags もみるようにして、出力を改善した。

開発してるときはコミットログにタグいれるのよくわすれるからあとからどうにでもなるのはいいかもなぁ、とおもってちょっと使ってみる (あたらしい gem で)