This is an automated email from the ASF dual-hosted git repository. lhotari pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/pulsar-site.git
commit 994b4af92cbf28fee1f3f6039ae9c1dec458f760 Author: Lari Hotari <[email protected]> AuthorDate: Thu Jun 11 23:52:35 2026 +0300 Recommend AI coding agents for cherry-picking to maintenance branches Add a section to the cherry-picking guide noting that an AI coding agent is a good tool for cherry-picking a commit from master and resolving the merge conflicts, with an example prompt that covers detecting dependent commits and running the related unit tests. Cross-link it from the merge conflict resolution tooling page. --- contribute/maintenance-process.md | 8 ++++++++ contribute/setup-git.md | 2 ++ 2 files changed, 10 insertions(+) diff --git a/contribute/maintenance-process.md b/contribute/maintenance-process.md index 533c5b28583..3034055cd3d 100644 --- a/contribute/maintenance-process.md +++ b/contribute/maintenance-process.md @@ -42,6 +42,14 @@ In cases where a PR cannot be applied without substantial backporting effort or In some cases, a large number of merge conflicts signal that there's a dependent PR that is also needed in the maintenance branch which hasn't been cherry-picked. It is useful to review the dependency and consider cherry-picking it. Only non-breaking bug fixes or minor improvements (excluding PIP-related changes) can be cherry-picked without discussion on the dev mailing list. Backporting is necessary when a fix depends on newer PIP-related changes. +#### Using an AI coding agent for cherry-picking + +An AI coding agent (such as Claude Code, Copilot, Cursor, Gemini, Codex, …) is a good tool for cherry-picking a commit from the master branch and resolving the merge conflicts. A simple prompt is enough, for example: + +> Cherry-pick commit `<sha>` from the master branch to this maintenance branch and resolve the conflicts. If there's a large difference, analyze whether dependent commits should be cherry-picked first — in that case, stop and list them so I can decide how to proceed. After a successful cherry-pick, run the unit tests for the changed and related code. + +As with any contribution, you remain responsible for the result: review the conflict resolution and verify the cherry-picked change before pushing it. + #### Cherry-picking Changes Scheduled for the Release Before proceeding, ensure that you have [set up a Git mergetool](setup-git.md#mergetool). This tool is essential for resolving merge conflicts that may arise during the cherry-picking process. diff --git a/contribute/setup-git.md b/contribute/setup-git.md index 37881f33ac8..a2e8c9653a8 100644 --- a/contribute/setup-git.md +++ b/contribute/setup-git.md @@ -93,6 +93,8 @@ There a limitation that each branch can only be checked out in one working direc For Apache Pulsar core developers, handling git merge conflict resolution is necessary. To efficiently resolve merge conflicts, setting up tools that assist in visualizing these conflicts and resolving them is essential. +An AI coding agent is also a good tool for cherry-picking a commit and resolving the merge conflicts — see [Using an AI coding agent for cherry-picking](maintenance-process.md#using-an-ai-coding-agent-for-cherry-picking). + For developers starting to use automated tools to resolve merge conflicts during cherry-picking, IntelliJ is a recommended option. It offers excellent tooling, but its integration with a command-line workflow is not seamless. It performs well when you initiate the cherry-picking process in IntelliJ and handle the merge conflict resolution within the same environment. However, resolving a merge conflict often involves multiple steps, including reverting and amending changes until a satisf [...] For more advanced users who use `git` on the command line, setting up the `git mergetool` is recommended.
