While a large part of the developer community often considers Microsoft as a proprietary behemoth, the Redmond company has now taken the open source way and opted community-backed Git to build none other than its Windows platform. The company has overcome all the “daunting scaling challenges” in its journey and ultimately reached the milestone of developing the world’s largest Git repository.
Microsoft had first announced its interest towards Git back in 2013 and developed a roadmap to bring the distributed version control system to its Visual Studio. In late January that same year, the Windows maker also added support Git open source version control to its developer tools that include Visual Studio as well as Team Foundation Service.
Skipping all the initial hurdles, Microsoft has now formally revealed the adoption of open source Git and Git Virtual File System (GVFS) to develop Windows.
“Over the past three months, we have largely completed the rollout of Git/GVFS to the Windows team at Microsoft,” said Brian Harry, technical fellow and TFS chief at Microsoft, in a blog post.
Nearly 4,000 engineers behind the scenes
Microsoft has added around 3.5 million files to the Git repo which is about 300GB in size. All that is maintained by the Windows team that includes nearly 4,000 engineers. Further, the massive engineering system manages to produce over 1,700 daily “lab builds” across 440 branches and handles thousands of pull request validation builds.
“All three of the dimensions (file count, repo size and activity) independently provide daunting scaling challenges and taken together they make it unbelievably challenging to create a great experience,” Harry writes.
Majority ‘somewhat’ satisfied with Git adoption
Not just bringing the trend to use Git, Microsoft has been conducting surveys of the engineering team to know the views of its members. The first survey resulted in a majority feedback as “somewhat” satisfied, while 54 of the total 251 survey responses answered the Git adoption “very” satisfied.
Problem of ‘over hydration’
Despite the positive results at the present stage, Microsoft had found the problem of “over hydration” when its engineers tried to scale the project. However, the techies implemented some performance improvements called “O(modified)” that changed the proportionality of key commands to make them proportional to the number of files modified in Git. The company has also started developing a Git proxy solution to let its global Windows engineers cache Git data at the edge — in spite of bandwidth limitations.
Although opting the open source avenue was not easy for Microsoft, it succeeded effortfully to influence the community. The company also wants developers to start using its GVFS.
You need to create a Visual Studio Team Services account that has a Git repo to use GVFS. This might appear to be a catch to some. However, it eventually promotes open source since GVFS is itself an open source project and is aimed to integrate Git within a Virtual File System.