19

ここで説明されているように、私が取り組んでいるプロジェクトにコミット メールを設定したいと思います:
http://producingoss.com/en/vc.html#commit-emails

つまり、コミット後のフックを使用して、コミットのタイトル/ログと変更の差分を含むリストに電子メールを送信します。

Linux マシンでこれを設定する最も簡単な方法は何ですか?

4

4 に答える 4

34

この質問は少し古いですが、Google からここに来る人のために私の意見を残しておきます。

ここに記載されている解決策を検討しました。私にとってはcommit-email.pl、より簡単でより良い作業でした。ただし、両方のソリューションに適切なフォーマットが欠けていることがわかりました。

このように、このsvnnotifyパッケージは十分にフォーマット化され、色付けされた電子メールを生成するように思えます。

Debian/Ubuntu システムでは、次のように入力してインストールできます。

apt-get install libsvn-notify-perl

次に、Gmail アカウントにメールを送信する場合は、Gmail の CSS サポートがおかしいため、ここにあるパッチを適用することを強くお勧めします。つまり、次のことを意味します。

  • ダウンロードHTML.pmしてColorDiff.pm
  • /usr/share/perl5/SVN/Notify/HTML.pmそれぞれとに置き換え/usr/share/perl5/SVN/Notify/HTML/ColorDiff.pmます。

最後に、post-commit通常の方法でフック スクリプトをセットアップします。

# email notifications for commits
/usr/bin/svnnotify --repos-path "$REPOS" --revision "$REV" \
    --to your.email@address.com \
    --from from.email@address.com \
    --with-diff \
    --subject-cx \
    --subject-prefix 'Your Project Name: ' \
    --handler HTML::ColorDiff \
    --css-inline
    2>&1 &

exit 0
于 2011-03-20T16:53:44.203 に答える
18

新しいリポジトリを作成する場合、ポストコミット フックのサンプルが に用意されていhooks/post-commit.tmplます。多かれ少なかれ次のような行が含まれています。

/usr/share/subversion/hook-scripts/commit-email.pl "$REPOS" "$REV" commit-watchers@example.org

電子メールを通知の送信先アドレスに置き換え、スクリプトの名前を(拡張子hooks/post-commitを削除して) 変更し、実行可能 ( ) にします。tmplchmod a+x

引数を指定せずにスクリプトを実行するcommit-email.plと、件名や差出人アドレスなどを変更できる追加オプションを含む使用画面が表示されます。

commit-email.plDebian の場合、スクリプトはオプションのsubversion-toolsパッケージにあることに注意してください。

于 2009-02-01T22:42:53.497 に答える
10

これにはsvnmailerを使用します。リポジトリ固有のpost-commitフック スクリプトを svnmailer を呼び出す単一のスクリプトにシンボリック リンクします。設定は非常に簡単で、simple.conf設定例を使用すると、数分で起動して実行できます。これは Python で記述されているため、インストールの前提条件であることに注意してください。

post-commit フック スクリプト全体は、ほんの数行です (post-commit フックで他のことを行うこともできますが、現在は行っていないことに注意してください)。

#!/bin/sh

CONFIG="/usr/local/svnmailer/default.conf"
MAILER="/usr/bin/svn-mailer"

# These are passed in by subversion
REPOS="$1"
REV="$2"

"${MAILER}" --commit \
            --config "${CONFIG}" \
            --repository "${REPOS}" \
            --revision "${REV}" \
            --background
于 2009-02-01T22:17:59.803 に答える