原文链接:
Meta 公开资料里,Sapling 面向的是超大 monorepo 场景。
这类场景的难点不仅是文件多、提交多、分支多,还包括:
Sapling 的价值在于把可扩展性和工作流表达能力一起处理。
堆叠提交适合把一个大功能拆成多个可以单独 Review 的小步骤:
commit A: add data model
commit B: add service logic
commit C: add API
commit D: add tests and docs
每个提交都可以被单独审查,但它们又保持依赖关系。
这对 AI 编程特别有启发:AI 很容易一次生成大 diff,人类需要把它拆回一组有顺序、可解释、可回滚的小变更。
Sapling 的 smartlog 强调让开发者直观看到自己本地提交、远端主线和相关分支的位置。
Git 用户虽然未必使用 Sapling,也可以借鉴这个思想:
git log --graph --oneline --decorate 辅助理解历史Meta 早期 Scaling Mercurial 文章强调 Watchman、remote file log 等能力,用来减少 status、clone、pull、rebase 的成本。
对 Git 团队来说,对应的思路是:
普通团队不一定需要 Sapling,但可以借鉴这些做法:
堆叠提交、worktree、多 Agent 并行和 PR Review 可以连成一套 AI 时代工作流:
AI 生成方案
-> 人类拆成提交栈
-> 每个提交单独 Review
-> CI 按栈顺序验证
-> 合入时保持主线清晰