From 59086b870b476c5b752c5b7e96798a82dc598682 Mon Sep 17 00:00:00 2001 From: toofar Date: Thu, 8 Dec 2022 08:39:19 +1300 Subject: fix resetting base branch between PRs Previously it was setting head_sha within the loop. When doing rebase_with_formatting and that failed we weren't resetting to $base properly. So it ended up trying to merge subsequent PRs onto previous ones, which caused additional PRs to show as failed. Change to save the base branch sha before we start doing work and just reset at the top of the loop instead of trying to do it on each failure path. --- scripts/check_mergability.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/check_mergability.sh b/scripts/check_mergability.sh index f9422381f..cc432c530 100755 --- a/scripts/check_mergability.sh +++ b/scripts/check_mergability.sh @@ -143,10 +143,11 @@ generate_report () { echo "$1,$2,\"$3\",$4,$5,$6" >> $report_file } + head_sha=$(git rev-parse HEAD) jq -r '.[] | "\(.number) \(.updatedAt) \(.title)"' < ../prs.json | while read number updated title; do [ -n "$pr" ] && [ "$pr" != "$number" ] continue [ -n "$quiet" ] || echo "trying ${prefix}pr/$number $updated $title" - head_sha=$(git rev-parse HEAD) + git reset -q --hard $head_sha case "$rewrite_strategy" in rebase|merge) @@ -187,7 +188,6 @@ generate_report () { else [ -n "$quiet" ] || echo "#$number merged fine" #git show HEAD --oneline --stat - git reset -q --hard $head_sha report $number $updated "$title" succeeded 0 0 fi done -- cgit v1.2.3-54-g00ecf