Announcing GVFS (Git Virtual File System)
Feb 3, 2017Saeed Noursalehi

Summary
Introduces GVFS (Git Virtual File System) as a solution for scaling Git to extremely large repositories (e.g., Windows codebase with 3.5M+ files, 270GB+). GVFS virtualizes the file system, downloading files only when opened. It manages how much of the repo Git considers for operations like checkout and status. This results in significantly faster operations: clone in minutes (vs. 12+ hours), checkout in seconds (vs. hours), and status in seconds (vs. minutes). The trade-off is a slightly longer first build due to on-demand file downloads. The client code is open-sourced on GitHub, along with modifications to Git to work with GVFS-backed repos and the GVFS protocol extension.