Re: [PATCH] post-receive-email: ensure sent messages are not empty
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:49:14
"Kevin P. Fleming" [off-list ref] writes:
quoted hunk
@@ -687,10 +699,12 @@ if [ -n "$1" -a -n "$2" -a -n "$3" ]; then # Output to the terminal in command line mode - if someone wanted to # resend an email; they could redirect the output to sendmail # themselves - PAGER= generate_email $2 $3 $1 + prep_for_email $2 $3 $1 + PAGER= generate_email else while read oldrev newrev refname do - generate_email $oldrev $newrev $refname | send_mail + prep_for_email $oldrev $newrev $refname + generate_email | send_mail done
As "prep" exits, when this is run as a hook to read many updated refs, any
inappropriate update to one ref will cause messages for later refs from
getting sent out. Earlier such an update may have sent an empty message
but at least didn't break messages for other refs, if I am reading the
code correctly. Is that what you really want?
Perhaps you would want to do something like this instead, after adjusting
the exit code from the new "prep" shell function?
while ...
do
prep_for_email || continue
generate_email | send_mail
done