|
|
|
@ -71,19 +71,10 @@
@@ -71,19 +71,10 @@
|
|
|
|
|
# ---------------------------- Functions |
|
|
|
|
|
|
|
|
|
# |
|
|
|
|
# Top level email generation function. This decides what type of update |
|
|
|
|
# this is and calls the appropriate body-generation routine after outputting |
|
|
|
|
# the common header |
|
|
|
|
# Function to prepare for email generation. This decides what type |
|
|
|
|
# of update this is and whether an email should even be generated. |
|
|
|
|
# |
|
|
|
|
# Note this function doesn't actually generate any email output, that is |
|
|
|
|
# taken care of by the functions it calls: |
|
|
|
|
# - generate_email_header |
|
|
|
|
# - generate_create_XXXX_email |
|
|
|
|
# - generate_update_XXXX_email |
|
|
|
|
# - generate_delete_XXXX_email |
|
|
|
|
# - generate_email_footer |
|
|
|
|
# |
|
|
|
|
generate_email() |
|
|
|
|
prep_for_email() |
|
|
|
|
{ |
|
|
|
|
# --- Arguments |
|
|
|
|
oldrev=$(git rev-parse $1) |
|
|
|
@ -159,7 +150,7 @@ generate_email()
@@ -159,7 +150,7 @@ generate_email()
|
|
|
|
|
# Anything else (is there anything else?) |
|
|
|
|
echo >&2 "*** Unknown type of update to $refname ($rev_type)" |
|
|
|
|
echo >&2 "*** - no email generated" |
|
|
|
|
exit 1 |
|
|
|
|
return 0 |
|
|
|
|
;; |
|
|
|
|
esac |
|
|
|
|
|
|
|
|
@ -175,9 +166,32 @@ generate_email()
@@ -175,9 +166,32 @@ generate_email()
|
|
|
|
|
esac |
|
|
|
|
echo >&2 "*** $config_name is not set so no email will be sent" |
|
|
|
|
echo >&2 "*** for $refname update $oldrev->$newrev" |
|
|
|
|
exit 0 |
|
|
|
|
return 0 |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
return 1 |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
# |
|
|
|
|
# Top level email generation function. This calls the appropriate |
|
|
|
|
# body-generation routine after outputting the common header. |
|
|
|
|
# |
|
|
|
|
# Note this function doesn't actually generate any email output, that is |
|
|
|
|
# taken care of by the functions it calls: |
|
|
|
|
# - generate_email_header |
|
|
|
|
# - generate_create_XXXX_email |
|
|
|
|
# - generate_update_XXXX_email |
|
|
|
|
# - generate_delete_XXXX_email |
|
|
|
|
# - generate_email_footer |
|
|
|
|
# |
|
|
|
|
# Note also that this function cannot 'exit' from the script; when this |
|
|
|
|
# function is running (in hook script mode), the send_mail() function |
|
|
|
|
# is already executing in another process, connected via a pipe, and |
|
|
|
|
# if this function exits without, whatever has been generated to that |
|
|
|
|
# point will be sent as an email... even if nothing has been generated. |
|
|
|
|
# |
|
|
|
|
generate_email() |
|
|
|
|
{ |
|
|
|
|
# Email parameters |
|
|
|
|
# The email subject will contain the best description of the ref |
|
|
|
|
# that we can build from the parameters |
|
|
|
@ -717,10 +731,11 @@ if [ -n "$1" -a -n "$2" -a -n "$3" ]; then
@@ -717,10 +731,11 @@ 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 $maxlines | send_mail |
|
|
|
|
prep_for_email $oldrev $newrev $refname || continue |
|
|
|
|
generate_email $maxlines | send_mail |
|
|
|
|
done |
|
|
|
|
fi |
|
|
|
|