用途:当其他工作流需要把某个分支或工作树与其预期合入的分支进行比较时,使用本技能解析比较引用与提交;调用方自行决定差异路径和端点。
主要能力:解析评审引用($REVIEW_REF,默认 HEAD)并判断是否为本地评审($IS_LOCAL_REVIEW);按 Git push 优先级(branch.<name>.pushRemote、remote.pushDefault、上游远程)解析已发布目标,得到 $REVIEW_FETCH_SOURCE、$REVIEW_REPOSITORY、$REVIEW_HEAD_BRANCH;按顺序从编辑器 PR 集成、按分支查询 gh pr list、提交到 PR API 解析开放 PR,得到 $TARGET_SOURCE、$TARGET_REPOSITORY、$TARGET_BRANCH、$PR_URL;无 PR 时回退到 microsoft/FluidFramework 的 main;用 git merge-base --all 选取比较提交 $BASE_COMMIT,并统计两侧分叉提交数。
必要用法:将目标分支抓取到专用引用,例如 git fetch --no-tags "$TARGET_SOURCE" "+refs/heads/$TARGET_BRANCH:refs/comparison/target",再设 TARGET_REF=refs/comparison/target;评审分支缺失时可用 git fetch --no-tags "$REVIEW_FETCH_SOURCE" "+refs/heads/$REVIEW_BRANCH:refs/comparison/head" 并设 REVIEW_REF=refs/comparison/head;用 REVIEW_OID=$(git rev-parse "$REVIEW_REF") 取提交号;用 git rev-list --count "$BASE_COMMIT..$REVIEW_REF" 与 "$BASE_COMMIT..$TARGET_REF" 统计分叉。
适用场景:分支评审、变更分析、PR 目标识别,尤其是 Fluid Framework 的 squash-merge 工作流。
限制:不要依赖裸 gh pr view、裸 gh repo view 或无仓库限定的上下文,需显式传 PR URL 或 --repo owner/repository;多个匹配 PR、多个最佳共同祖先、浅仓库无共同历史、任一侧超过 50 个提交时需询问用户;调用方必须使用选定的 $BASE_COMMIT,不得改用三点差异或重新计算 merge-base;合并目标分支会修改评审分支,未经明确批准不得执行。其他细节暂未提供。