SubversionのコミットメールをPerlで書いた
Subversionのコミット通知メールをPerlで書いた。
svnは中央集権型だからか
誰かがコミットしたとか最新の更新情報が欲しくなるので、
コミット通知はやっぱかかせない。
svnのサーバでコミットメールを配信するには、
リポジトリのhookディレクトリにpost-commitという名の
スクリプトをおいてその中で配信すればいい。
(Windowsの場合はpost-commit.batにするんだったかな)
メール配信するスクリプトは一般的にはcommit-email.plを使う。
このスクリプトはsvn本家のサイトに置いてある..と思ったら、rubyになってた!!
http://svn.apache.org/repos/asf/subversion/trunk/tools/hook-scripts/commit-email.rb
一瞬、これでいいじゃんとは思うけど、
日本語化が必要だったり、BTSとの連携面が弱いので
自分で書いてみた。perlだけど。
書いたスクリプトは gist に置いた。
https://gist.github.com/924175
配信されたメールはこんな感じ。
Date: Mon, 18 Apr 2011 00:08:20 +0900 From: commiterTo: ccc@ddd.eee Subject: [yourprj]r1 - first commit first commit hogehoge ageage (refs #1,2,3000) (refs 4) Author: commiter Date: 2011-04-18 01:00:15 +0900 (月, 18 4月 2011) Rev: r1 http://path/to/trac/yourprj/changeset/1 Tickets: #1 http://path/to/trac/yourprj/ticket/1 #2 http://path/to/trac/yourprj/ticket/2 #3000 http://path/to/trac/yourprj/ticket/3000 #4 http://path/to/trac/yourprj/ticket/4 Changed: A hello A world
BTSはTrac用に書いてみた。
複数のチケット、チェンジセットへのリンクを
メールに載せるようにしてある。
そうそう。設置方法は hookにあるpost-commit.tmplを参考に
#!/bin/sh REPOS="$1" REV="$2" "$REPOS"/hooks/svn-ci-mail.pl "$REPOS" $REV
こんな感じで
![]() | 実用 Subversion 第2版 (2009/07/27) C. Michael Pilato、Ben Collins-Sussman 他 商品詳細を見る |
![]() | 入門Trac with Subversion―Linux/Windows対応 (2008/05) 高山 恭介 商品詳細を見る |
![]() | Perl逆引きクイックリファレンス―Perl5.8対応 (2007/03) 坂田 健二 商品詳細を見る |
- 2012-05-06: PerlMagickで複数の画像を1枚にまとめる
- 2011-05-01: Perl,PythonでCGI環境変数取得
- 2011-04-18: SubversionのコミットメールをPerlで書いた
- 2011-03-26: Perlで簡易メモCGIを書いた
- 2011-03-22: perlで簡単なCGIのアップローダを作った
- 2011-03-15: Perlでtwitterのつぶやきを検索表示する(2)
- 2011-03-14: Perlでtwitterのつぶやきを検索表示する
- 2010-12-29: perlで重複してない画像を探す
- 2010-12-23: perlでJPEGファイルをExifの時間にリネームする
- 2010-09-13: perlでソート付きのdu
- 2008-04-27: W-ZERO3メールの添付ファイルを抜き出す
★☆★コメント★☆★
コメントの投稿
トラックバック
http://iyukki.blog56.fc2.com/tb.php/134-2b117686