微软 Office 团队完成从 Source Depot 到 Git 的大规模迁移

微软 Office 工程团队完成了一项历时数年的重大技术迁移,将版本控制系统从内部专有的 Source Depot 全面转向开源的 Git。这一迁移项目涉及超 4000 名工程师。

Source Depot 是微软基于 Perforce 技术在 2000 年代初开发的定制版本控制系统,专门用于管理 Windows 和 Office 等大型代码库。当时 Git 尚未诞生,Subversion 也不够成熟,Source Depot 承担了管理数百万行代码的重任。然而,随着时间推移,这一集中式系统的局限性逐渐暴露:获取 Office 代码库需要数小时,分支操作异常复杂,合并变更的流程更是令开发者苦不堪言。

迁移面临的最大技术挑战是 Office 代码库的庞大规模 —— 超过 270 GB 的大小和数百万个文件,远超标准 Git 的处理能力。为解决这一问题,微软开发了 Virtual File System for Git (VFS for Git) 技术,通过虚拟化文件系统实现按需下载文件,将克隆时间从 12 小时缩短至几分钟,检出操作从 2 至 3 小时缩短至 30 秒,状态检查从 10 分钟缩短至 4 至 5 秒。

为此,微软采用了「平行宇宙」迁移策略,创建与 Source Depot 持续同步的 Git 代码库,确保迁移过程的平稳进行。团队还为开发者提供了沙箱环境进行培训,并设置了「红色按钮」回滚机制以应对可能出现的问题。

danielsada.tech
 
 
Back to Top