Google先生へのお問い合わせの結果
ちょっとSubversionサーバー作るときいつも忘れる。
メールを送信したいんだけどテンプレートがcommit-mail.pl から commit-mail.rb になっていて時代を感じた…
Googleさんに問い合わせたりした結果(5分位)
あれ?基本ruby?でみんなやってる?
はぁー なるほどね…
うん!よし、CentOSだしBashしよう!
との結論に。
とりあえず備忘録がてら初投稿(ドキドキ)
要件
- メールが飛んできさえすればいい
- とりあえず誰が更新したか知りたい
- 更新日も欲しいな
- コメントは欲しい
- 何が変更されたんでしょ
- 詳細なdiffはredmineで見るからいらないわ
とりあえずこんな最小要件で…
bash で post-commit
#!/usr/bin/env bash
#これが無いとそのまま叩かせてもエンコードをわかってくれない。
export LC_CTYPE=ja_JP.UTF-8
#値の受け取り
REPOS="$1"
REV="$2"
#アドレス記載
TOADDR="送信したいアドレス" # ,(カンマ)で区切ると複数送信
FROMADDR="送信元アドレス"
#色々情報取ってきます。
SVNAUTHOR=`svnlook author -r $REV $REPOS`
SVNDATE=`svnlook date -r $REV $REPOS`
SVNLOG=`svnlook log -r $REV $REPOS`
SVNCHANGE=`svnlook changed -r $REV $REPOS`
#別にヒアドキュメントでもいいんだけど今回はechoで
/bin/echo " ##### NOW COMMITTED SUBVERSION ####
Commit Author : $SVNAUTHOR
Commit Date : $SVNDATE
Newer Revision : $REV
Log:
---->>>>>>
$SVNLOG
Changed:
[U:UPDATE A:APPEND D:DELETE]
---->>>>>>
$SVNCHANGE
" | /usr/bin/nkf -w | /bin/mail -s "SVN [ stuff : $REV ] committed" -r $FROMADDR $TOADDR
汚いコードだ…w