fix(skill): handle squash-merged sync PRs in cherry-pick-sync#387
Merged
Conversation
Prior cherry-pick sync PRs are often squash-merged into the release branch, making git cherry unable to detect them as equivalent. The skill now finds the last sync PR on the release branch and uses it as the baseline instead of relying solely on git log range.
📊 TypeScript Coverage ReportCoverage: 39.6% View detailed reportCoverage artifacts have been uploaded to this workflow run. |
dev-jodee
approved these changes
Mar 13, 2026
Contributor
Greptile SummaryThis PR updates the Key changes:
Issues found:
Confidence Score: 3/5
Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A([Start: Determine commits to cherry-pick]) --> B[git fetch origin main release-branch]
B --> C["Search git log on release branch\ngit log --oneline origin/release-branch\n| grep cherry.pick|sync.*main | head -3"]
C --> D{Match found?}
D -- No --> E["Fallback: full range\ngit log --oneline --reverse\norigin/release-branch..origin/main"]
D -- Yes --> F["Extract PR number from\ncommit message (#NNN)"]
F --> G["gh pr view NNN\nRead PR body"]
G --> H{PR body parseable\nfor last SHA?}
H -- No --> E
H -- Yes --> I["Extract last-synced-sha from\n### Commits included section"]
I --> J["Bounded range\ngit log --oneline --reverse\nlast-synced-sha..origin/main"]
E --> K[Candidate commit list]
J --> K
K --> L["Secondary check\ngit cherry -v origin/release-branch origin/main\nSkip lines starting with '-'"]
L --> M["Auto-skip release-only commits\nversion bumps, CHANGELOG, chore: release v*"]
M --> N[Show final commit list to user]
N --> O{User confirms?}
O -- Yes --> P([Proceed to Step 3: Preconditions])
O -- No --> Q([Adjust list & re-confirm])
Last reviewed commit: dbe2ac2 |
amilz
added a commit
that referenced
this pull request
Mar 13, 2026
…#387) Prior cherry-pick sync PRs are often squash-merged into the release branch, making git cherry unable to detect them as equivalent. The skill now finds the last sync PR on the release branch and uses it as the baseline instead of relying solely on git log range.
amilz
added a commit
that referenced
this pull request
Mar 13, 2026
* fix(docker): update Rust version to 1.88 for time crate compatibility (#364) The time crate v0.3.47 requires Rust 1.88.0. This was causing Railway deployments to fail with "rustc 1.87.0 is not supported" error. Fixes #363 * fix(sdk): add ESLint v9 deps and update lint script (#371) Cherry-pick config/deps only from main's #371 — release branch already has a more complete eslint.config.js. Adds @solana/eslint-config-solana and related plugins, updates lint script to remove deprecated --ext flag. * fix(sdk): add repository url for npm trusted publisher provenance (#376) npm's provenance verification requires package.json repository.url to match the GitHub repo from the OIDC token. * feat: add cherry-pick-sync skill (#385) * feat: add cherry-pick-sync skill for main→release branch syncing * fix: address PR review feedback on cherry-pick-sync skill * fix(skill): improve cherry-pick-sync to handle squash-merged sync PRs (#387) Prior cherry-pick sync PRs are often squash-merged into the release branch, making git cherry unable to detect them as equivalent. The skill now finds the last sync PR on the release branch and uses it as the baseline instead of relying solely on git log range.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
git cherrycan't detect them — the skill now reads the PR body to find the last main commit that was syncedgit cherry -vcheck for commits that were individually cherry-picked (non-squash)Test plan