Microsoft today announced that virtually all of its engineers now use the Git version control system to develop its Windows operating system. The Windows Git repository includes about 3.5 million files that weigh in at about 300GB when you check them into Git. Git, however, wasn’t built for a project of this size, so Microsoft developed the Git Virtual File System to be able to get the benefits of using Git without having to wait hours for even the simplest of Git commands to run.
The code for the Git Virtual File system is now available under the MIT license on GitHub and open for community contributions.
The move to Git took about three months. Before this, Microsoft used Source Depot to manage the Windows code, though other groups with smaller code bases also still use Team Foundation Server. My understanding is that Source Depot is Microsoft’s fork of the Perforce platform and the company today notes that the Windows code was originally spread across more than 40 of these depots.
Over the course of the last three months, Microsoft moved some Windows developers over to the new Git repository to test the system. Then, in March, it rolled out Git for all 2,000 engineers that work on the Windows OneCore team. Today, about 3,500 of the roughly 4,000 engineers on the Windows team are on Git.
Microsoft also notes that it built a Git proxy solution for the Git Virtual File System (GVFS) to help manage the bandwidth issues that would inevitably arise given the distributed nature of the team.
As Microsoft also announced today, a number of Git vendors already support it (Atlassian) or are working on bringing support for it to their tools (Tower and GitKracken). To test GVFS, you can also create a repo on Microsoft’s Visual Studio Team Services (and you need a VSTS account to do this).