Sapling
Meta开源的Git兼容版本控制客户端,为应对超大规模单体仓库和数十亿文件历史而设计,在大规模二进制资产管理上做了针对性优化
时间轴 (近 90 天)
业界应对单体仓库版本控制压力的方式大致分两类:虚拟文件系统(如 VFS for Git、Sapling 的部分思路)按需物化文件;重写服务端传输与存储(Pando 属于后者)。
Google、Meta 等公司在超大 monorepo 上依赖自研的虚拟文件系统与按需物化层(如 Google 的 Piper、Meta 的 Sapling),普通团队难以复制这套投入。
Mononoke 是 Meta 为支撑超大规模单体仓库而开发的分布式版本控制系统后端,用 Rust 编写,配套 Sapling 客户端。
Jujutsu和Sapling都没有抛弃Git的对象模型,而是在其之上重建交互层
Sapling由Meta开发,最初服务于其超大规模Monorepo,强调可扩展性与对Stacked Diff的原生支持
Meta 开源的 Sapling 是为应对超大规模单体仓库和数十亿文件历史而重建的 Git 兼容客户端。
Perforce、Sapling 等系统在大规模二进制资产管理上做了针对性优化。
Jujutsu、Sapling 等新型版本控制工具倾向于重新设计底层数据模型
全部知识事实 (8)
业界应对单体仓库版本控制压力的方式大致分两类:虚拟文件系统(如 VFS for Git、Sapling 的部分思路)按需物化文件;重写服务端传输与存储(Pando 属于后者)。
50%待验证Google、Meta 等公司在超大 monorepo 上依赖自研的虚拟文件系统与按需物化层(如 Google 的 Piper、Meta 的 Sapling),普通团队难以复制这套投入。
50%待验证Mononoke 是 Meta 为支撑超大规模单体仓库而开发的分布式版本控制系统后端,用 Rust 编写,配套 Sapling 客户端。
50%待验证Jujutsu和Sapling都没有抛弃Git的对象模型,而是在其之上重建交互层
50%待验证Sapling由Meta开发,最初服务于其超大规模Monorepo,强调可扩展性与对Stacked Diff的原生支持
50%待验证Meta 开源的 Sapling 是为应对超大规模单体仓库和数十亿文件历史而重建的 Git 兼容客户端。
50%待验证Perforce、Sapling 等系统在大规模二进制资产管理上做了针对性优化。
50%待验证Jujutsu、Sapling 等新型版本控制工具倾向于重新设计底层数据模型
50%