done
shift $((OPTIND - 1))
-tool_dir=$(dirname "$0")
-. "$tool_dir/common.sh"
+# shellcheck source=common.sh
+source "$(dirname "$0")/common.sh"
log()
{
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" || {
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:"
# }
}
[ -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 || {