contrib/hooks/post-receive-email used to call the send_mail function (and thus, /usr/sbin/sendmail), even if generate_mail returned an error. This is problematic, as the sendmail binary provided by exim4 generates an error mail if provided with an empty input. Therefore, this commit changes post-receive-email to only call sendmail if generate_mail returned without error. Signed-off-by: Lars Noschinski <lars@xxxxxxxxxxxxxxxxxxxx> --- contrib/hooks/post-receive-email | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) Obvious drawback of this solution is that the mails are kept in memory as a whole. But the mails should be small enough, so that this does not hurt. I'm not sure how to write a test for this bug, as the hook (correctly) uses an absolute path to call sendmail. diff --git a/contrib/hooks/post-receive-email b/contrib/hooks/post-receive-email index 2a66063..818a270 100755 --- a/contrib/hooks/post-receive-email +++ b/contrib/hooks/post-receive-email @@ -684,6 +684,9 @@ if [ -n "$1" -a -n "$2" -a -n "$3" ]; then else while read oldrev newrev refname do - generate_email $oldrev $newrev $refname | send_mail + mail="$(generate_email $oldrev $newrev $refname)" + if [ $? -eq 0 ]; then + printf '%s' "$mail" | send_mail + fi done fi -- 1.6.3.3 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html