用途:把 Megatron-LM 仓库中一个大型 pull request 拆成多个较小 PR,使每个 PR 触及尽量少的 CODEOWNERS 审查组,降低评审负担。
主要能力:解析 .github/CODEOWNERS 建立文件路径到 owner 组映射;统计当前 PR 需要多少个不同审查组;按审查组聚类文件并给出拆分方案,展示每个 PR 包含的文件、所需审查组及依赖关系;在用户批准后执行拆分。
使用方式:先用 gh pr view <number> --repo NVIDIA/Megatron-LM --json title,body,headRefName,author 与 gh pr diff <number> --repo NVIDIA/Megatron-LM --stat 获取 PR 信息,并用 gh api user --jq .login 确认当前用户;随后提出拆分表。经用户批准后,从合适基线创建分支,用 git diff upstream/main..<source-branch> -- <paths> | git apply 应用文件级差异,提交并推送到用户 fork,以草稿形式创建 PR,完成后报告各 PR URL。
约束与限制:每个 PR 必须可独立合并和审查;测试随其验证的生产代码一起走,不单独拆出;若存在依赖需说明先后顺序,并在第一个 PR 中加入向后兼容别名、re-export 或 shim;始终创建草稿 PR 并推送到 fork,绝不直接推送 upstream;每次拆分倾向单个干净提交;难以归类的文件需询问用户;若非原作者,新 PR 描述中需注明原作者。收费、平台等未提供。