From b54a2fb3ddee84b1cbe18f4a5bd1ed84a08d4133 Mon Sep 17 00:00:00 2001 From: Michael Tautschnig Date: Thu, 20 Feb 2025 10:17:50 +0000 Subject: [PATCH] Don't use rebase --- .github/workflows/update-subtree.yml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/.github/workflows/update-subtree.yml b/.github/workflows/update-subtree.yml index 6249f46a7f1b..09c32a3c07bf 100644 --- a/.github/workflows/update-subtree.yml +++ b/.github/workflows/update-subtree.yml @@ -70,10 +70,20 @@ jobs: cd ../verify-rust-std git remote add rust-filtered ../rust-tmp/ git fetch rust-filtered - git checkout -b update-subtree/library rust-filtered/subtree/library - git rebase origin/subtree/library + git checkout -t -b update-subtree/library origin/subtree/library + SUBTREE_HEAD_MSG=$(git log --format=%s -n 1 origin/subtree/library) + UPSTREAM_FROM=$(git log --grep="${SUBTREE_HEAD_MSG}" -n 1 --format=%H rust-filtered/subtree/library) + UPSTREAM_HEAD=$(git log --format=%H -n 1 rust-filtered/subtree/library) + if [ "${UPSTREAM_HEAD}" = "${UPSTREAM_FROM}" ]; then + echo "Nothing to cherry-pick, ${UPSTREAM_FROM} matches ${UPSTREAM_HEAD} (${SUBTREE_HEAD_MSG})" + echo "MERGE_CONFLICTS=noop" >> $GITHUB_ENV + else + git cherry-pick ${UPSTREAM_FROM}..rust-filtered/subtree/library; then + echo "MERGE_CONFLICTS=maybe" >> $GITHUB_ENV + fi - name: Create Pull Request + if: ${{ env.MERGE_CONFLICTS != 'noop' }} uses: peter-evans/create-pull-request@v7 with: title: 'Update subtree/library' @@ -86,6 +96,7 @@ jobs: path: verify-rust-std - name: Merge subtree/library changes + if: ${{ env.MERGE_CONFLICTS != 'noop' }} run: | cd verify-rust-std SYNC_BRANCH="sync-$TOOLCHAIN_DATE"