Earlier this year, Microsoft announced that it is working on a solution that allows Git client to scale to really huge repos. The new solution was called GVFS (Git Virtual File System). GVFS virtualizes the file system beneath your repo and makes it appear as though all the files in your repo are present, but in reality only downloads a file the first time it is opened. It also actively manages how much of the repo Git has to consider in operations like checkout and status, since any file that has not been hydrated can be safely ignored.
Microsoft today provided an update on the progress they have made with GVFS. GVFS team has almost completed the rollout of Git/GVFS to the Windows team at Microsoft. This is a huge milestone and a validation to the project. If it works for Windows codebase, then it should work for almost all other large codebase projects. Microsoft also shared some numbers related to Windows team and its codebase. The Windows team is about 4,000 engineers and the engineering system produces 1,760 daily “lab builds” across 440 branches. Windows code base is approximately 3.5M files with a size of about 300GB.
Microsoft has made some significant performance improvements and introduced Git proxies. Also, GVFS is an open source project and Microsoft has started making regular updates to the published code base. Starting today, Microsoft is opening GVFS for external contributions. Microsoft also worked with the community to begin to build support into popular tools – like SourceTree, Tower, Visual Studio, etc.
GVFS is free to use. Just download it from GitHub, create a Visual Studio Team Services account with a Git repo in it and you can start using the setup.