Gnus -- minor build / warning fixes [OK For Upstream]
[gnus] / etc / post-receive
index ebd230c..676b885 100755 (executable)
@@ -2,11 +2,6 @@
 
 # modified: 2010-09-01 and on by tzz@lifelogs.com
 
-# Use the email address of the author of the last commit.
-# This fails if the commit is on a branch.
-export USER_EMAIL=$(git log -1 --format=format:%ce HEAD)
-export USER_NAME=$(git log -1 --format=format:%cn HEAD)
-
 # the remainder is the standard git-core post-receive-email with some changes:
 
 # - USER_EMAIL and USER_NAME are used in the header
@@ -182,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="%s" $oldrev...$newrev | perl -e'@p = <>; chomp @p; print "=", scalar @p, "= ", 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
@@ -210,6 +209,11 @@ 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