17.072017

So funktioniert das GVFS (Git Virtual File System)

Git und große Repositories sind nicht immer die besten Freunde. Unter anderem kann diese Beziehung bei einem git clone einige Zeit beanspruchen. Genau vor dieser Problematik stand Microsoft, als sie für die Arbeiten am Quellcode von Windows Git verwenden wollten.

Bei Windows handelt es sich zum Beispiel um eine Codebasis von über 3.5 Millionen Daten und einer Größe von über 270GB, wo einzelne Aktionen wie ein git checkout bzw. git clone mehrere Stunden dauern. Da die Entwickler bei Microsoft Fans von Git sind und sich von dieser kleinen Herausforderung nicht abschrecken ließen, fingen sie an, an einer Lösung für den Git Client zur arbeiten, der es erlaubt mit Repositories jeder Größe zu skalieren. Damit war die Idee zum GVFS (Git Virtual File System) geboren.

GVFS virtualisiert das lokale Repository und lässt es so erscheinen, als wären alle Dateien innerhalb des Repositories vorhanden, aber in Wirklichkeit werden die Dateien nur heruntergeladen, sobald sie das erste mal geöffnet werden. Da GVFS auf Dateisystemebene arbeitet, können die bekannten IDEs und Build-Tools weiterverwendet werden.

Einen kleinen Nachteil hat GVFS aber für die Unix-User: es wird Windows 10 Creators Update oder später benötigt.