Git is a widely used version control system, but it’s one that does not cope well with scaling up. As projects and codebases grow, performance can suffer massively, with common tasks taking hours to perform. Today, Microsoft comes up with an answer: GVFS.
Git Virtual File System has come into being partly because of the problems Microsoft itself has encountered with Git. The sheer size of the Windows codebase means that a simple operation such as checkout can take three or more hours. As the V in GVFS, the solution is a virtualization system that works at file system level to make it appear as though all of the files in a repo are present, saving lots of downloading.
Because this is a file system solution, there is no need to change IDEs or build tools — something developers will be very pleased to hear. The virtualization system means that rather than downloading an entire source tree from a repo, it may be possible to get away with a download of a mere 100 kilobytes and cloning. Checking out and getting the status takes a tiny fraction of the time it used to as a result.
Today, we’re introducing GVFS (Git Virtual File System), which 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. GVFS 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 is open sourcing the client code and the company says that it wants to continue to work on improving the performance.
Image credit: McIek / Shutterstock