aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/release/release-notes/notes/update-apply-pr-script-46e6d547d331c5f2.yaml3
-rwxr-xr-xsrc/collectd/collectd_apply_pull_request.sh18
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