This change adds a new, required, config variable: hooks.envelopesender, and use that with sendmail's -f option. This is important in order to avoid relying on sendmail's "guess" at an appropriate envelope sender address. Without this, and in the presence of strict servers, it is far too easy not ever to be notified, or (more insidious) never to receive bounce email. Below, I've included an additional patch in case you want to require the envelopesender setting only when at least one of the mailing list variables is set. Signed-off-by: Jim Meyering <jim@xxxxxxxxxxxx> --- templates/hooks--update | 12 +++++++++++- 1 files changed, 11 insertions(+), 1 deletions(-) diff --git a/templates/hooks--update b/templates/hooks--update index 8f6c4fe..bc1f1a9 100644 --- a/templates/hooks--update +++ b/templates/hooks--update @@ -12,6 +12,10 @@ # This is the list that all pushes will go to; leave it blank to not send # emails frequently. The log email will list every log entry in full between # the old ref value and the new ref value. +# hooks.envelopesender +# Use this email address as the envelope sender (argument to sendmail's +# -f option). This is not the "From:" address. This should be a useful +# email address within your organization. Required. # hooks.announcelist # This is the list that all pushes of annotated tags will go to. Leave it # blank to just use the mailinglist field. The announce emails list the @@ -52,10 +56,16 @@ fi # --- Config projectdesc=$(cat $GIT_DIR/description) +envelope_sender=$(git-repo-config hooks.envelopesender) recipients=$(git-repo-config hooks.mailinglist) announcerecipients=$(git-repo-config hooks.announcelist) allowunannotated=$(git-repo-config --bool hooks.allowunannotated) +if [ -z "$envelope_sender" ]; then + echo "Usage: hooks.envelopesender must be set in config" >&2 + exit 1 +fi + # --- Check types newrev_type=$(git-cat-file -t $newrev) @@ -279,7 +289,7 @@ $0 $1 \\ $3 EOF #) | cat >&2 -) | /usr/sbin/sendmail -t +) | /usr/sbin/sendmail -f "$envelope_sender" -t # --- Finished exit 0 -- 1.5.1.rc1 >From 4b3d42890b2b33b2f34902d26561b78e5e92ddba Mon Sep 17 00:00:00 2001 From: Jim Meyering <jim@xxxxxxxxxxxx> Date: Fri, 23 Mar 2007 13:06:00 +0100 Subject: [PATCH] Fail upon undefined envelopesender only if at least one of the mailing list variables is set. Signed-off-by: Jim Meyering <jim@xxxxxxxxxxxx> --- templates/hooks--update | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) diff --git a/templates/hooks--update b/templates/hooks--update index bc1f1a9..c79b4b4 100644 --- a/templates/hooks--update +++ b/templates/hooks--update @@ -61,9 +61,11 @@ recipients=$(git-repo-config hooks.mailinglist) announcerecipients=$(git-repo-config hooks.announcelist) allowunannotated=$(git-repo-config --bool hooks.allowunannotated) -if [ -z "$envelope_sender" ]; then - echo "Usage: hooks.envelopesender must be set in config" >&2 - exit 1 +if [ -n "$recipients$announcerecipients" ]; then + if [ -z "$envelope_sender" ]; then + echo "Usage: hooks.envelopesender must be set in config" >&2 + exit 1 + fi fi # --- Check types -- 1.5.1.rc1 - 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