4

ポストコミット (一般的な設定) を介して svnnotify で通知メールを送信するVisualSVN実行していますが、「#noemail」などの特定のキーワードがコミット メッセージに含まれている場合はメールを送信したくありません

コミットメッセージを見て、特定のキーワードが存在する場合に電子メールが送信されないようにするために、ポストコミットフックに追加できるものの例を誰かが持っていますか?

ありがとう!


参考までに、これが私の現在のコミット後のコンテンツの例です。

set REPOS=%1
set REV=%2
set EMAILADDRESSES="example@example.com"
set OS=Windows_NT
set PATH=%PATH%;C:\Program Files\VisualSVN Server\bin\;C:\Perl\site\bin;C:\Perl\bin;

svnnotify --repos-path %REPOS% --revision %REV% --to %EMAILADDRESSES% -f svn@example.com --smtp smtp.example.com --subject-prefix "SVN - Rev: %%d - "
4

2 に答える 2

3

キーワード「nosvnemail」を使用したソリューションは次のとおりです。

set REPOS=%1
set REV=%2
set EMAILADDRESSES="example@example.com"
set OS=Windows_NT
set PATH=%PATH%;C:\Program Files\VisualSVN Server\bin\;C:\Perl\site\bin;C:\Perl\bin;

svnlook log -r %2 %1 | FindStr "nosvnemail"

IF %ERRORLEVEL% EQU 0 GOTO SKIPEMAIL

svnnotify --repos-path %REPOS% --revision %REV% --to %EMAILADDRESSES% -f svn@example.com --smtp smtp.example.com --subject-prefix "SVN - Rev: %%d - "

:SKIPEMAIL

exit 0
于 2009-10-13T16:59:54.100 に答える
0

Linux の場合、次のようhooks/post-commitに動作します。

REPOS="$1"
REV="$2"
SVNLOOK=$(which svnlook)

LOGMSG=$($SVNLOOK log -r $REV $REPOS)
if [[ $LOGMSG != nosvnemail* ]] ; then
    "$REPOS"/hooks/mailer.py commit "$REPOS" $REV "$REPOS"/mailer.conf
fi

このnosvnemail文字列は、ログ メッセージの最初にある必要があります。

于 2016-10-11T01:58:42.870 に答える