From: Stephen Rothwell Date: Fri, 26 Jul 2019 01:50:27 +0000 (+1000) Subject: do_merge: shellcheck cleanups X-Git-Url: https://git.ozlabs.org/?p=next-scripts;a=commitdiff_plain;h=17b697c36bb0b91ac000baa69987644fc332bc5c do_merge: shellcheck cleanups --- diff --git a/do_merge b/do_merge index 1c91fe5..ab12c59 100755 --- a/do_merge +++ b/do_merge @@ -18,8 +18,8 @@ while getopts 'ns:' opt; do done shift $((OPTIND - 1)) -tool_dir=$(dirname "$0") -. "$tool_dir/common.sh" +# shellcheck source=common.sh +source "$(dirname "$0")/common.sh" log() { @@ -65,12 +65,12 @@ for h in $heads; do hlog=$(git log -1 --oneline "${h/\/*://}") 2>/dev/null old_head=$(git rev-parse HEAD) [ -f "../pre-merge/$tree" ] && { - for p in $(cat "../pre-merge/$tree"); do - "$bin_dir/do_patch" -n "$p" || { + while read -r p <&7; do + if ! "$bin_dir/do_patch" -n "$p"; then linux-next-notify "premerge patch failed" bash -i || exit - } - done + fi 7<&- + done 7<"../pre-merge/$tree" } log Merging "$h" "($hlog)" execute git merge "$h" || { @@ -80,7 +80,7 @@ for h in $heads; do check_unmerged_files "$tree" - git diff 2>&1 | egrep -q '<<<<<|^\*' && { + git diff 2>&1 | grep -E -q '<<<<<|^\*' && { linux-next-notify "new conflict found merging $tree" if [ -f "../merge-fixes/$tree" ]; then echo "Merge fixes exist for this tree:" @@ -97,27 +97,27 @@ for h in $heads; do # } } [ -f "../merge-fixes/$tree" ] && { - for p in $(cat "../merge-fixes/$tree"); do - "$bin_dir/merge_fix" -n "$p" || { + while read -r p <&7; do + if ! "$bin_dir/merge_fix" -n "$p"; then linux-next-notify "merge fix failed for $tree" bash -i || exit - } - done + fi 7<&- + done 7<"../merge-fixes/$tree" } - tab="\t" - [ $(echo "$tree" | wc -c) -le 8 ] && tab="\t\t" - printf "%s$tab%s\n" $tree $(git rev-parse "${h/\/*://}^{}") >> $SHA1_FILE + tab=$'\t' + [ "${#tree}" -le 8 ] && tab=$'\t\t' + printf '%s%s%s\n' "$tree" "$tab" "$(git rev-parse "${h/\/*://}^{}")" >> "$SHA1_FILE" $no_build && continue $need_build || { # See if we need to build after merging this tree new_head=$(git rev-parse HEAD) [ "$old_head" = "$new_head" ] || - [ "$(git diff ${old_head}.. | wc -c)" -eq 0 ] || + [ "$(git diff "$old_head".. | wc -c)" -eq 0 ] || need_build=true } $need_build || continue - do_build=$(awk -F '\t' '/^[^#]/ && $3=="'$tree'" { print $6; }' "$CTRL_FILE") + do_build=$(awk -F '\t' '/^[^#]/ && $3=="'"$tree"'" { print $6; }' "$CTRL_FILE") [ "$do_build" = "yes" ] || continue git push -f "${build_host}${build_host:+:}${build_dir}" master:refs/heads/next || {