Interesting stuff by Microsoft. to handling big repositories such as their Windows code base which “has over 3.5 million files and is over 270 GB in size”. Instead of splitting the code into several manageable submodules, they’ve created a virtual filesystem to support big repositories:
GVFS (Git Virtual File System) 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. And because we do this all at the file system level, your IDEs and build tools don’t need to change at all!