微软 Office 团队近日完成了版本控制系统的一次重大升级,历时多年,从原有的 Source Depot 迁移至更加现代化的 Git 平台。此次变更背后有着复杂的技术挑战和长期的工程部署。
早在 2000 年初,微软在版本控制方面面临诸多困难。当时 Git 尚未问世,SVN 也尚未成熟,因此公司基于 Perforce 技术开发了内部系统 Source Depot。该系统承载了数百万行代码的管理工作,但其使用过程却极为不便。例如,获取整个 Office 代码库往往需要数小时,分支操作繁琐如同复杂的仪式,合并改动更是令人头痛的问题。此外,Source Depot 对网络状况高度依赖,一旦连接中断,开发进度就会被迫停滞。
尽管 Source Depot 在技术早期阶段表现出稳定性,但随着软件开发需求的快速演进,它逐渐显得力不从心。维护成本不断上升,工程师们也反馈该系统缺乏现代通用技能支持,迁移到 Git 已成为大势所趋。
Office 的版本控制迁移并非简单的工具替换,而是一项涉及 4000 多名开发人员、多个产品线(包括 Word、Excel 和 OneNote 等)的庞大工程。由于不同客户群体采用的更新周期各异(如 LTSC 版本每六个月更新一次,部分版本为半年更新或月更),迁移过程中必须实现新旧系统并行运行一段时间,以确保各版本的一致性(如 16.0.18730.20186)。
此外,Office 的代码库规模庞大,单次克隆就需约 200GB 存储空间,普通 Git 操作如执行 git status 时常常会因超时而失败。为了解决这一问题,微软与合作伙伴共同开发了 VFS for Git,仅在需要时下载相关文件,从而大幅提升性能和效率。
整个迁移过程采用了“平行宇宙”策略,即在迁移期间持续同步 Source Depot 与 Git 的代码库,以保障开发工作的连续性。这项工作不仅耗时长久,而且技术实现复杂,团队多次尝试才最终完成两种系统之间分支模型与提交历史的映射。
这次迁移标志着微软在开发流程现代化道路上迈出的重要一步,也为未来更高效的协作与创新奠定了基础。