Cherry-pick a merged PR into the current RC branch. Use when asked to "cherry-pick", "cp into RC", or after merging a PR that needs to go into the current release.
Cherry-pick a merged PR into the current RC branch. Arguments: $ARGUMENTS
Usage: /cherry-pick <PR_NUMBER> [RC_BRANCH]
PR_NUMBER (required): The PR number to cherry-pick (e.g. 43078). If not provided, ask the user.RC_BRANCH (optional): The target RC branch name (e.g. rc-minor-fleet-v4.83.0). If not provided, auto-detect the most recent one.git fetch origingit checkout maingit pull origin mainIf an RC branch was provided as the second argument, use it (but still confirm with the user before proceeding).
Otherwise, auto-detect by listing both minor and patch RC branches:
git for-each-ref 'refs/remotes/origin/rc-minor-fleet-v*' 'refs/remotes/origin/rc-patch-fleet-v*' --format='%(refname:strip=3)' | grep -E '^rc-(minor|patch)-fleet-v[0-9]+\.[0-9]+\.[0-9]+$' | sort -V
From the results, suggest the most recent rc-minor-fleet-v* branch as the default. If patch branches also exist, mention them as alternatives. Always ask the user to confirm the target RC branch before proceeding.
gh pr view <PR_NUMBER> --json title --jq .title
gh pr view <PR_NUMBER> --json mergeCommit --jq .mergeCommit.oid
If this returns null or an empty value, the PR is not yet merged. Tell the user and stop.gh api user --jq .logingit checkout -b <github-username>/<short-description>-cp origin/<rc-branch>
Derive <short-description> from the PR title (lowercase, hyphens, keep it short — 3-5 words max).git rev-list --parents -n 1 <merge-commit-SHA>
If the commit has multiple parents, run:
git cherry-pick -m 1 <merge-commit-SHA>
Otherwise (squash-merged or rebased), run:
git cherry-pick <merge-commit-SHA>
git push -u origin HEADgh pr create --base <rc-branch> --title "Cherry-pick #<PR_NUMBER>: <original-title>" --body "$(cat <<'EOF'
Cherry-pick of #<PR_NUMBER> into the RC branch.
EOF
)"