diff options
-rw-r--r-- | docs/release/release-notes/notes/update-apply-pr-script-46e6d547d331c5f2.yaml | 3 | ||||
-rwxr-xr-x | src/collectd/collectd_apply_pull_request.sh | 18 |
2 files changed, 16 insertions, 5 deletions
diff --git a/docs/release/release-notes/notes/update-apply-pr-script-46e6d547d331c5f2.yaml b/docs/release/release-notes/notes/update-apply-pr-script-46e6d547d331c5f2.yaml new file mode 100644 index 00000000..de1be994 --- /dev/null +++ b/docs/release/release-notes/notes/update-apply-pr-script-46e6d547d331c5f2.yaml @@ -0,0 +1,3 @@ +build: + - | + Update collectd_apply_pull_request.sh to rebase only if multiple chanegs are selected. The script will checkout the PR branch if there's only one PR_ID passed. diff --git a/src/collectd/collectd_apply_pull_request.sh b/src/collectd/collectd_apply_pull_request.sh index 35af2981..403d78dd 100755 --- a/src/collectd/collectd_apply_pull_request.sh +++ b/src/collectd/collectd_apply_pull_request.sh @@ -35,8 +35,16 @@ IFS=', ' read -a PULL_REQUESTS <<< "$COLLECTD_PULL_REQUESTS" git config user.email "barometer-experimental@container" git config user.name "BarometerExperimental" -for PR_ID in "${PULL_REQUESTS[@]}" -do - echo "Applying pull request $PR_ID" - git pull --rebase origin pull/$PR_ID/head -done +# If there's a single PR listed, just check it out +if [ "${#PULL_REQUESTS[@]}" -eq "1" ]; +then + echo "Checking out pull request $COLLECTD_PULL_REQUESTS" + git fetch origin pull/$COLLECTD_PULL_REQUESTS/head && git checkout FETCH_HEAD +else +# if there are multiple PRs, rebase them on top of the checked out branch + for PR_ID in "${PULL_REQUESTS[@]}" + do + echo "Applying pull request $PR_ID" + git pull --rebase origin pull/$PR_ID/head + done +fi |