summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArtem Bityutskiy <artem.bityutskiy@linux.intel.com>2014-02-05 15:08:42 +0200
committerArtem Bityutskiy <artem.bityutskiy@linux.intel.com>2014-02-05 17:12:12 +0200
commit092f2ca2462869f22927d9f6f366e75b8df1595c (patch)
tree8d5c0bd74b0d6db674f17292a43d135561cda111
parentdafda3033bd7b663e150393a8f75e4a0a8e12e27 (diff)
downloadaiaiai-092f2ca2462869f22927d9f6f366e75b8df1595c.tar.gz
email-test-patchset: further improve readability
This script was confusing and difficult to follow because it used 'to', 'cc', and 'from' variables when composing the reply. E.g., "to" means the "To:" header of the patch under test, but when used in context of the reply, we used it for creating the "Cc:" header. Very confusing and easy to mess things up. This patch cleans that up. Let's leave 'to', 'cc', 'from', 'subj', and 'id' variables to represent the _original_ "To:", "Cc:", "From:", "Subj:", and "Id:". For replies, introduce 'reply_to', 'reply_cc', 'reply_subj', and 'reply_id' variables. The code becames a lot easier to follow with this change. Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
-rwxr-xr-xemail/aiaiai-email-test-patchset55
1 files changed, 23 insertions, 32 deletions
diff --git a/email/aiaiai-email-test-patchset b/email/aiaiai-email-test-patchset
index dc93150..694f28b 100755
--- a/email/aiaiai-email-test-patchset
+++ b/email/aiaiai-email-test-patchset
@@ -93,19 +93,11 @@ list_projects()
done
}
-# Send an e-mail reply to the patch author. This function relies on the various
-# global variables, most notably:
-# o "from" - address of the submitter of the patch under test, our reply will
-# be sent there
-# o "to" - addresses of the recipients of the patch under test, these will be
-# carbon-copied
-# o "subj" - subject of patch under test, the reply will have the same
-# subject
-# o "id" - message ID of the patch under test, the reply will have reference
-# this ID
+# Send an e-mail reply to the patch submitter.
send_email()
{
- compose_email "$from" "$to" "$subj" "$id" > "$tmpdir/mail"
+ compose_email "$reply_to" "$reply_cc" "$reply_subj" "$reply_id" \
+ > "$tmpdir/mail"
[ -z "$verbose" ] || cat -- "$tmpdir/mail" >&2
@@ -121,7 +113,6 @@ send_email()
# carbon-copying anyone else.
error_no_project_specified()
{
- to=
send_email <<EOF
Sorry, but you have not specified the project name. Please, specify it
using the "+" symbol in the e-mail address of $cfg_ownname. For example,
@@ -142,7 +133,6 @@ EOF
# else.
error_project_not_found()
{
- to=
send_email <<EOF
Sorry, but project "$prj" is not supported. List of projects $cfg_ownname
currently supports:
@@ -156,10 +146,8 @@ EOF
}
# This function is called when the 'aiaiai-test-patchest' fails. This most
-# probably means a bug or configuration issues. This function sends an e-mail
-# notification about this. The notification is sent to the patch submitter and,
-# depending on the "reply_to_all" configuration option, everyone in "To:" and
-# "Cc:".
+# probably means a bug or configuration issues. This function sends
+# corresponding e-mail notification.
error_test_patchset_failed()
{
send_email <<EOF
@@ -170,9 +158,7 @@ EOF
}
# This is a helper function which sends a notification about the patch under
-# test being accepted for testing. The notification e-mail is sent to the patch
-# submitter and, depending on the "reply_to_all" configuration option, everyone
-# in "To:" and "Cc:".
+# test being accepted for testing.
send_accepted_email()
{
send_email <<EOF
@@ -184,9 +170,8 @@ has been accepted by $cfg_ownname and scheduled for testing.
EOF
}
-# This is a helper function which sends the results of testing back to the
-# patch submitter and, depending on the "reply_to_all" configuration option,
-# everyone in "To:" and "Cc:".
+# This is a helper function which sends the reply e-mail with the results of
+# testing.
send_results_email()
{
send_email <<EOF
@@ -300,30 +285,36 @@ mbox="$tmpdir/mbox"
# Find out the project name
prj="$(fetch_project_name "$to" "$cfg_ownmail")"
-
verbose "Project \"$prj\""
+# Replies will refer the first patch of the patch-set under test
+reply_subj="$subj"
+reply_id="$id"
+# Replies will be sent to the patch submitter
+reply_to="$from"
+# And do not Cc anyone thus far
+reply_cc=
+
# Reject the e-mail if the project has not been specified
if [ -z "$prj" ]; then
error_no_project_specified
fi
-# Fetch project configuration
+# Get the project configuration
parse_prj_config "$cfgfile" "$prj"
-# Check if we have this project in our config file
+# Check if the project specified by the submitter exists
if [ -z "$pcfg_name" ]; then
error_project_not_found
fi
-# Merge the "To" and "Cc" addresses
-to="$(merge_addresses "$to" "$cc")"
-
+# Create the Cc list for replies that we'll be sending
if [ "$pcfg_reply_to_all" != "1" ]; then
- to=
+ # Replies all the patch recepients will be CCed
+ reply_cc="$(merge_addresses "$to" "$cc")"
+ reply_cc=$(strip_address "$reply_cc" "$cfg_ownmail")
else
- # Strip own address
- to=$(strip_address "$to" "$cfg_ownmail")
+ reply_cc=
fi
# Notify the sender that the patches have been accepted