Microsoft veröffentlicht virtuelles Git-Dateisystem

06.02.2017

Um den riesigen Berg an Windows-Quellcode mit Git zu verwalten, hat Microsoft eigens ein virtuelles Dateisystem entwickelt.

Unter dem Namen GVFS (Git Virtual File System) hat Microsoft ein virtuelles Dateisystem veröffentlicht , das den Umgang mit sehr großen Quellcode-Repositories vereinfachen soll. Bei der Arbeit mit dem Windows-Quellcode, der laut Microsoft 270 GByte in 3,5 Millionen Files umfasst, zeigte sich Git der riesigen Datenmenge nicht mehr gewachsen. Beispielsweise dauert ein Git-Checkout damit drei Stunden und selbst ein Abruf des Git-Status dauert schon fast zehn Minuten. Das Klonen des kompletten Repository nimmt sogar mehr als zwölf Stunden in Anspruch.

Das virtuelle Git-Dateisystem soll dieses Problem lösen, indem es statt der kompletten Dateien nur die Metadaten in das lokale Repository eines Entwicklers übernimmt. Erst, wenn dieser eine Datei wirklich benutzt, werden die Inhalte aus dem Git-Repository kopiert.

Der Quellcode von GVFS ist auf Github zu finden. Bisher funktioniert GVFS nur auf Windows, aber die Microsoft-Entwickler wünschen sich Ports auf macOS und Linux.

In den Kommentaren zur Veröffentlichung von GVFS wurde des mehrfach die Kritik geäußert, dass die Pflege des kompletten Quellcode in Millionen von Files und einem Repository der grundlegende Fehler sei, den es zu beheben gelte, statt mit GVFS nach einer technischen Lösung zu suchen. Microsoft-Entwickler hielten dem entgegen, dass es zwischen vielen Unterprojekten Abhängigkeiten gebe, die sich nicht mit vertretbarem Aufwand entkoppeln ließen. Auch eigneten sich Git-Submodule nicht dafür, diese Abhängigkeiten in mehreren Repositories widerzuspiegeln.

Mehr Informationen über die Schwierigkeiten beim Management des Windows-Quellcode mit Git gibt der Microsoft-Mitarbeiter Brian Harry in einem Blog-Beitrag.

Ähnliche Artikel

comments powered by Disqus
Mehr zum Thema

Microsoft kauft Github

Die populäre Open-Source-Hosting-Site wird von Microsoft übernommen.

Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023