トップ «前日 最新 翌日» 編集
RSS feed

ただのにっき


2007-02-08(木) [長年日記]

svnnotify

こないだからまじめにRubyForgeを使うようになって、結果的に開発のためにsvnを使うようになったんだけど(個人的なドキュメント管理にはだいぶ前から使っていた。原稿とか)、まずはcommit logをメールで受け取りたいと。

でも、svnのサンプルに付いてるようなショボいのはいやん、と思ったので調べていたら、RubyForgeのFAQにHow do I get diff emails when I commit code?というのがあった。おお、これこれ。

でもこのまま使ってみるとHTMLメールになっちゃって、W-ZERO3で読めなかったりするものだから、もうちょっとシンプルにしようと思ってsvnnotifyを探すも見つからない。ウロウロしてたらCPANにあった。CPANか〜。

で、久々にCPANをセットアップ中。続きはあとで書く。まぁ、ドキュメントだけあればいいんだが。


続き。

「diffを色付けされたHTMLで受け取りつつ、テキストしか読めないメーラーでも読めるようにしたい」というニーズであれば、post-commitを以下のようにするのが吉なようだ:

#!/bin/sh
REPOS="$1"
REV="$2"
PATH=/usr/bin:/bin:/usr/local/bin
PROJECT=/var/svn/hatenagraphup
svnnotify --repos-path "$REPOS" --revision "$REV" \
--svnlook /usr/local/bin/svnlook \
--to sho@spc.gr.jp --from `whoami`@rubyforge.org \
--with-diff --subject-cx \
--handler Alternative --alternative HTML::ColorDiff

もちろん、SVN::Notifyだけでなく、SVN::Notify::HTML::ColorDiffやSVN::Notify::Alternativeが必要。

でも、よく考えてみたらHTMLメールなんて別に欲しくないし、そういう整形やら色付けされたリソースは、メールよりもむしろfeedして受け取ったほうが嬉しいよなぁと思い、現状はシンプルにこんな感じとなった:

#!/bin/sh
REPOS="$1"
REV="$2"
PATH=/usr/bin:/bin:/usr/local/bin
PROJECT=/var/svn/hatenagraphup
svnnotify --repos-path "$REPOS" --revision "$REV" \
--svnlook /usr/local/bin/svnlook \
--to sho@spc.gr.jp --from `whoami`@rubyforge.org \
--with-diff --subject-prefix '[hatenagraphup] ' --subject-cx

これで受け取ったメールからfeedを生成するようなツールを書けばいいじゃんね。つーかそれPla

Tags: svn cpan

トップ «前日 最新 翌日» 編集
RSS feed