Ever wonder how Microsoft stores the source code for Windows? Evidently, it’s all been stored in Git. Today, Microsoft announced that it has released the Git Virtual File System, which allows repositories and clients to handle massive repositories.
As an example, the Windows repository contains 3.5 million files and is more than 270GB in size. That’s far larger than the 2GB size limit most repositories face. After 2 GB, performance slows to a crawl. While GitHub released large file support for Git last year, Microsoft still encountered size-based issues.
(Related: Microsoft updates .NET Core, .NET Native and NuGet)
Thus, Microsoft built its own solution to the problem. The Git Virtual File System virtualizes the files beneath the repository, allowing clients to see the whole project (but not download any files until they are opened).
The system also automatically determines which portions of a repository must be downloaded to perform a checkout operation. Thus, developers working on Windows only have to check out their branch of a specific set of files, rather than having to check out all 270GB of files to make a single change.
The Git Virtual File System is available on GitHub. Additionally, there’s a protocol extension that GVFS relies upon.