SuperAPI AI 工具集

cherrypicking-pr-to-v3

智能体与模型

查看项目

更新于 10-15 17:30

技能介绍

用途:把需要进入 v3 稳定版的变更,从 main(自 2026 年 8 月起 main 为 v4 代码库)反向移植到 v3 分支,形成针对 v3 的第二个 PR,并把代码改回 v3 约定。

主要流程:先确定要回移的已合并 PR/提交,不要直接 cherry-pick v4 合并提交(8aea45a、PR #3807);本仓库 PR 以双父合并提交合入,变更在其中的组成提交里。jj 可用 jj duplicate <rev> -d v3 再 jj edit 解冲突;git 则从 v3 拉分支后执行 git cherry-pick -x --no-commit <sha>。解冲突后按清单把 v4 写法改回 v3,向 v3 提 PR,描述简明,说明是对原 PR 的回移(附链接)及差异;除非明确要求发布,不要改 VERSION 文件。

翻译要点:导入路径由 /v4/ 改回 /v3/,包括 tracer 名称、链接器标志、protobuf go_package_prefix、文档链接,且不改 v3 的 go.mod 模块声明;cli 由 urfave/cli/v3 改回 v1(标志和命令由指针改值、Sources: cli.EnvVars("X") 改 EnvVar: "X"、Commands/Subcommands、StringSliceFlag、cli.Exit、flag.Names() 等差异);Action 签名由 func(ctx context.Context, c *cli.Command) 改回 func(c *cli.Context) 并在内部用 context.Background();CLI 访问器、测试写法均按 v1 适配。

注意行为差异:tracing/metrics、取消宽限标志、experiments 守卫、钩子顺序、提交校验默认值、SSH host keys 在 v3/v4 不同;v4 已移除但 v3 仍保留的功能(废弃 Docker 集成、follow-symlinks、插件环境别名等)需在 v3 保留集成点,避免误带回 v4 的兼容性破坏。资料未提供其他安装或计费信息。