Skip to main content

backport

Backports pull requests that have been merged into the main branch across to older active release branches (e.g., 6.x, 7.x). Use when instructed to cherry-pick, backport, or migrate merged pull requests or commits to older support branches in the repository.

Source facts

Repository
GoogleCloudPlatform/spring-cloud-gcp
Last source activity
May 13, 2026 at 19:26
Detected SKILL.md language
English
Stars
556
Forks
353

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
backport
description
Backports pull requests that have been merged into the main branch across to older active release branches (e.g., 6.x, 7.x). Use when instructed to cherry-pick, backport, or migrate merged pull requests or commits to older support branches in the repository.
# Backporting Pull Requests This document defines the standard operating procedures and conventions for AI agents performing backporting tasks in the `spring-cloud-gcp` repository. ## Prerequisites - Access to the `git` command line tool. - Access to the GitHub CLI (`gh`), authenticated with sufficient repository scopes to create branches and pull requests. ## Branching & Naming Conventions - **Target Release Branches:** Active support branches such as `6.x` and `7.x`. - **Local/Head Branch Name:** `<target-branch>-cherry-pick-<short-commit-hash>` - *Example:* `6.x-cherry-pick-366c6fe` (where `366c6fe` is the 7-character short hash of the commit from `main`). ## Pull Request Metadata Conventions To ensure consistency and traceability across releases, backport pull requests MUST adhere to the following formatting rules: - **PR Base:** The target release branch (e.g., `6.x`). - **PR Title:** Must EXACTLY match the original PR title from `main`, including the original PR number suffix. - *Example:* `fix: NullPointerException in spring-cloud-gcp-data-spanner (#4383)` - **PR Body:** Must contain exactly the string `backport ` followed by the full GitHub URL of the original pull request. - *Example:* `backport https://github.com/GoogleCloudPlatform/spring-cloud-gcp/pull/4383` --- ## Step-by-Step Execution Workflow When instructed by a user to backport one or more PRs, follow this exact sequence for each PR and target branch combination: ### Step 1: Identify Commit Hash Find the commit hash of the merged PR on the `main` branch. ```bash git log --oneline origin/main ``` ### Step 2: Fetch Upstream State Ensure local tracking branches are up to date. ```bash git fetch origin ``` ### Step 3: Create Tracking Branch Checkout a new branch from the target release branch. ```bash git checkout -b <target-branch>-cherry-pick-<short-hash> origin/<target-branch> ``` ### Step 4: Cherry-Pick Commit Cherry-pick the commit from `main`. ```bash git cherry-pick <full-commit-hash> ``` *Note:* If merge conflicts arise, resolve them according to the target branch's baseline dependencies and continue the cherry-pick. ### Step 5: Push Branch to Upstream Push the newly created branch to the remote repository. ```bash git push origin <target-branch>-cherry-pick-<short-hash> ``` ### Step 6: Create Pull Request Create the pull request via GitHub CLI (`gh`), specifying the target base branch, exact title, and body. ```bash gh pr create \ --base <target-branch> \ --title "<original-pr-title> (#<original-pr-number>)" \ --body "backport https://github.com/GoogleCloudPlatform/spring-cloud-gcp/pull/<original-pr-number>" ``` --- ## Important Operating Principles 1. **Atomic Backports:** Always backport each pull request individually. Do not combine multiple PRs into a single cherry-pick branch or backport PR unless explicitly instructed by the user. 2. **Author Attribution:** Git cherry-pick preserves the original commit authorship automatically. Do not alter the commit author during the process. 3. **Verification:** Verify that the PR was successfully created and verify the CI checks once opened.
View on GitHub