]> git.ozlabs.org Git - next-scripts/blobdiff - message_helper
make the merge messages more useful
[next-scripts] / message_helper
index 48e2428565d98e5d7273d5194adcf6d9ebe9c2b0..d13360a7a22f02e818af672d9779e1f7923228ac 100755 (executable)
@@ -1,38 +1,47 @@
 #!/bin/bash
 
 # shellcheck source=./common.sh
-. "$(dirname "$0")/common.sh" ""
+. "$(dirname "$0")/common.sh" ''
 
 log="$LOG_FILE"
-[ -f merge.log ] && log=merge.log
+if [ -f merge.log ]; then
+       log='merge.log'
+fi
 
-branch=""
-[ "$1" = "-t" ] && {
-        branch=$2
+branch=
+if [ "$1" = '-b' ]; then
+        branch="$2"
         shift 2
-}
+fi
 
-kconfig=""
-[ "$1" = "-c" ] && {
-        kconfig=$2
+kconfig=
+if [ "$1" = '-c' ]; then
+        kconfig="$2"
         shift 2
-}
+fi
 
-cc='Linux Next Mailing List <linux-next@vger.kernel.org>, Linux Kernel Mailing List <linux-kernel@vger.kernel.org>'
+subject="$1"
+shift
 
-[ "$branch" ] || {
-       branch=$(grep '^Merging ' $log | tail -1 | sed 's/^Merging //' | sed 's/ .*$//')
-       branch=${branch%%/*}
-}
+cc=( 'Linux Next Mailing List <linux-next@vger.kernel.org>'
+       'Linux Kernel Mailing List <linux-kernel@vger.kernel.org>'
+       "$@" )
+
+if [ -z "$branch" ]; then
+       branch=$(grep '^Merging ' "$log" | tail -n 1 |
+               sed 's/^Merging \([^ /]*\).*$/\1/')
+fi
 
 contact=$(get_contacts "$branch")
-subject="${1//BRANCH/$branch}"
-filter="sed -e 's/BRANCH/$branch/g'"
-[ "$kconfig" ] &&
-       filter="$filter -e 's/KCONFIG_NAME/$kconfig/g'"
-filter="$filter | fmt -s"
-
-{ printf 'Hi all,\n\n'; eval "$filter"; } |
-       "$bin_dir"/send_email "$contact" "$cc" "linux-next: $subject"
+subject=${subject//BRANCH/$branch}
+filter=( -E -e 's/^([^ ])/|\1/' -e "s/BRANCH/$branch/g" )
+if [ -n "$kconfig" ]; then
+       filter+=( -e "s/KCONFIG_NAME/$kconfig/g" )
+fi
+
+{
+       printf 'Hi all,\n\n'
+       sed "${filter[@]}" | fmt -w 76 -u -p '|' | sed 's/^|//'
+} | "$bin_dir"/send_email "linux-next: $subject" "$contact" "${cc[@]}"
 
 exit 0