[poky] [PATCH] scripts/send-pull-request: Use git send-mail instead of sendmail

Khem Raj raj.khem at gmail.com
Tue Dec 21 01:39:27 PST 2010


* usually git send-mail is setup by people using git
  so use git send-mail to post patches for pull requests
  There is how to setup git send-email
  see section "Set up git"
  http://www.openembedded.org/index.php/How_to_submit_a_patch_to_OpenEmbedded

Signed-off-by: Khem Raj <raj.khem at gmail.com>
---
 scripts/send-pull-request |   19 ++++++++-----------
 1 files changed, 8 insertions(+), 11 deletions(-)

diff --git a/scripts/send-pull-request b/scripts/send-pull-request
index 0576a5d..2f0b90d 100755
--- a/scripts/send-pull-request
+++ b/scripts/send-pull-request
@@ -12,8 +12,8 @@ Usage: $(basename $0) [-h] [-a] [[-t email]...] -p pull-dir
 EOM
 }
 
-# Collect To and CC addresses from the patch files if they exist
-# $1: Which header to add the recipients to, "TO" or "CC"
+# Collect To, From and CC addresses from the patch files if they exist
+# $1: Which header to add the recipients to, "TO", "FROM" or "CC"
 # $2: The regex to match and strip from the line with email addresses
 harvest_recipients()
 {
@@ -27,6 +27,8 @@ harvest_recipients()
                 if [ -z "$TO" ]; then TO=$EMAIL; else TO="$TO,$EMAIL"; fi
             elif [ "$TO_CC" == "CC" ] && [ "${CC/$EMAIL/}" == "$CC" ] && [ -n "$EMAIL" ]; then
                 if [ -z "$CC" ]; then CC=$EMAIL; else CC="$CC,$EMAIL"; fi
+            elif [ "$TO_CC" == "FROM" ] && [ "${FROM/$EMAIL/}" == "$FROM" ] && [ -n "$EMAIL" ]; then
+                if [ -z "$FROM" ]; then FROM=$EMAIL; fi
             fi
         done
     done
@@ -85,6 +87,7 @@ done
 # etc. (*-by) will be added to CC.
 if [ $AUTO -eq 1 ]; then
     harvest_recipients TO "^[Tt][Oo]: *"
+    harvest_recipients FROM "^[Ff][rR][oO][mM]: *"
     harvest_recipients CC "^[Cc][Cc]: *"
     harvest_recipients CC "^.*-[Bb][Yy]: *"
 fi
@@ -112,20 +115,14 @@ read cont
 if [ "$cont" == "y" ] || [ "$cont" == "Y" ]; then
     ERROR=0
     for PATCH in $PDIR/*patch; do
-        # Insert To and CC headers via formail to keep them separate and
-        # appending them to the sendmail command as -- $TO $CC has proven
-        # to be an exercise in futility.
-        # 
-        # Use tail to remove the email envelope from git or formail as
-        # msmtp (sendmail) would choke on them.
-        cat $PATCH | formail -I "To: $TO" -I "CC: $CC" | tail -n +2 | sendmail -t
+        # Insert To and CC headers
+	git send-email --to="$TO" --cc="$CC" --from="$FROM" --confirm=auto $PATCH
         if [ $? -eq 1 ]; then
             ERROR=1
         fi
     done
     if [ $ERROR -eq 1 ]; then
-        echo "ERROR: sendmail failed to send one or more messages. Check your"
-        echo "       sendmail log for details."
+        echo "ERROR: git send-mail failed to send one or more messages."
     fi
 else
     echo "Send aborted."
-- 
1.7.1




More information about the poky mailing list