Microsoft is augmenting Windows 10 and the Visual Studio IDE with a file system to assist developers working with large Git repos.
The company’s Git Virtual File System (GVFS), appearing in GitHub, allows the Git client to scale to repos of any size. It virtualizes the file system beneath a repo to make it appear as though all files in a repo are present, but it downloads a file only the first time it’s opened.
In explaining Microsoft’s motivation, Saeed Noursalehi, Microsoft program manager for Visual Studio Cloud Services, said the company had been bumping up against the client’s limits. “For example, the Windows codebase has over 3.5 million files and is over 270GB in size. The Git client was never designed to work with repos with that many files or that much content.” GVFS manages how much of the repo Git has to consider in operations like checkout and status; any file not already hydrated can be ignored.
With GVFS, a clone will take only a few minutes as opposed to more than 12 hours. Microsoft also has made changes to Git, so it can work well on a GVFS-backed repo. These sources are available on GitHub, as well as a protocol extension GVFS relies on.
Using GVFS requires Windows 10 Anniversary Update or higher, and it can be built with Visual Studio 2015 Community Edition or higher. While available for tryout, GVFS is still a work in progress, Microsoft cautioned. It still relies on a pre-release file system driver with binaries that are also available for preview as a NuGet package.