Gnus -- minor build / warning fixes [OK For Upstream]
[gnus] / etc / post-receive
index 5011f24..676b885 100755 (executable)
@@ -1,16 +1,13 @@
 #!/bin/sh
 
-# 2010-09-01 tzz@lifelogs.com
-
-# Use the email address of the author of the last commit.
-export USER_EMAIL=$(git log -1 --format=format:%ae HEAD)
-export USER_NAME=$(git log -1 --format=format:%an HEAD)
+# modified: 2010-09-01 and on by tzz@lifelogs.com
 
 # the remainder is the standard git-core post-receive-email with some changes:
 
 # - USER_EMAIL and USER_NAME are used in the header
 # - the update message is after the diff
 # - without annotations, we use `git log --format=oneline' to generate the change summary (joining multiples with semicolons)
+# - the subject is shorter
 
 # Copyright (c) 2007 Andy Parkins
 #
@@ -180,9 +177,13 @@ generate_email()
        # Email parameters
        # The email subject will contain the best description of the ref
        # that we can build from the parameters
-       describe=$(git describe $rev 2>/dev/null)
-       if [ -z "$describe" ]; then
-               describe=$((git log --format=oneline $oldrev...$newrev | perl -e'@p = <>; chomp @p; print join " ; ", @p') 2>/dev/null)
+       describe_commit=$( (git log --format="%s" $oldrev...$newrev | perl -e'@p = <>; chomp @p; print "=", scalar @p, "= ", join(" ; ", @p)') 2>/dev/null)
+       describe_last=$(git describe $rev 2>/dev/null)
+
+       if [ -z "$describe_last" ]; then
+           describe=$describe_commit
+        else
+            describe="$describe_last $describe_commit"
        fi
 
        if [ -z "$describe" ]; then
@@ -208,12 +209,17 @@ generate_email()
 
 generate_email_header()
 {
+
+        # Use the email address of the author of the last commit.
+        export USER_EMAIL="$(git log -1 $short_refname --format=format:%ce HEAD)"
+        export USER_NAME="$(git log -1 $short_refname --format=format:%cn HEAD)"
+
        # --- Email (all stdout will be the email)
        # Generate header
        cat <<-EOF
        From: ${USER_NAME} <${USER_EMAIL}>
        To: $recipients
-       Subject: ${emailprefix}$projectdesc $refname_type, $short_refname, ${change_type}d. $describe
+       Subject: $emailprefix $refname_type $short_refname ${change_type}d: $describe
        X-Git-Refname: $refname
        X-Git-Reftype: $refname_type
        X-Git-Oldrev: $oldrev