3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Subversion メール送信 (Bash)

Posted at

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

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?