用途:该技能用于把 Sapling 仓库中的提交以 Phabricator diff 形式提交,供代码审查使用,核心命令为 jf submit(Meta)。
主要能力:若存在未提交改动,先运行 /commit 创建提交;使用 jf submit --draft 以 DRAFT 模式提交审查;堆叠中的每个提交会各自生成一个 Phabricator diff(如 D12345),并建立依赖关系,审查者可独立审查每个 diff;提交信息会被更新,加入 Differential Revision 链接。
常用命令:sl status 检查未提交改动;jf submit --draft 以草稿模式提交;sl diff --since-last-submit 查看上次提交后的改动;修改后可用 sl amend && jf submit --draft 更新 diff。
diff 状态包括:Needs Review(等待审查反馈)、Accepted(可落地)、Needs Revision(审查者要求修改)、Committed(已落地)、Abandoned(未落地即关闭)。
限制与注意:Windows 上需使用 sl.exe 的完整路径,避免与 PowerShell 内置的 sl(Set-Location 别名)冲突;与 GitHub PR 不同,Phabricator diff 通过 Differential Revision 与提交关联;ISL(Interactive Smartlog)网页界面也支持提交 diff。其余细节暂未提供。