Anthropic 10 月 13 日发了篇工程博客,讲他们为什么把 monorepo 从 git 迁走。我照原文做了个两分钟的讲解。
5 月每天合并大约 2,500 次变更,到 9 月超过 30,000 次。主干历史接近 100 GB,CI 一天检出约 2,500 万次,几百台 git 镜像也只是在拖时间。
7 个人用 5 个月写了 Scion:blame、diff、合并、变基都放到服务端算;提交只记改了哪些文件,不加锁;检出只拉缺的、要读的那部分,前面挡着两层缓存。结果是基础设施只有原来镜像集群的 1/200,检出从几分钟变成几秒,CI 多出 25% 的 CPU。
片中数字都来自原文,画面是示意图,配音是 TTS。
原文:https://www.anthropic.com/engineering/redesigning-source-control