Login
Newsletter
Werbung

Di, 6. Juni 2017, 12:58

Software::Entwicklung

Weltgrößtes Git-Repositorium kommt von Microsoft

Das weltweit größte Git-Repositorium wird von Microsoft betrieben. Wie zu erwarten, handelt es sich dabei um das Repositorium von Windows. Mit knapp einer Viertelmillion Commits innerhalb vier Monaten und durschnittlich 8500 Push-Anfragen am Tag übersteigt es die meisten freien Projekte um Längen.

git-scm.com

Git ist zweifelsohne eine Erfolgsgeschichte. Das 2005 von Linus Torvalds für die Pflege des Linux-Kernels ersonnene System ist aus der Entwicklung von freier, aber auch kommerzieller Software nicht mehr wegzudenken. So findet sich mittlerweile kaum ein Unternehmen, dass nicht wenigstens eine Nutzung von Git in Betracht gezogen hat. Unter anderem hat sich auch der einstige Lieblingsfeind von freier und offener Software, Microsoft, Git zugewandt.

Mindestens seit 2012 beschäftigt sich Microsoft intern mit der dezentralen Quellcode-Versionierung (DVCS) mittels Git. »Git war für Windows-Entwickler bisher nicht so benutzerfreundlich wie auf anderen Plattformen. Aber wir haben die Zeit, das jetzt für uns anzupassen. Git ergibt für uns Sinn«, sagte bereits 2013 der technische Leiter Brian Harry. Wie weit die Nutzung des Systems bei Microsoft vorangeschritten ist, erläutert Harry nun in einem neuen Beitrag.

Demnach betreiben die Redmonder laut eigener Aussage mittlerweile das weltweit größte Git-Repositorium. Darin verwaltet das Unternehmen nicht geringeres als das eigene Betriebssystem Windows. Mit fast 63.000 Commits monatlich übersteigt das Traffic-Aufkommen das jedes freien Systems. So hatte beispielsweise der Linux-Kernel im vergangenen Jahr knapp 61.000 und binnen des Existenzzeitraums des Repositoriums 640.000 Commits zu bewältigen. Insgesamt muss das Repositorium bei Microsoft täglich knapp 8500 Push-Anfragen, 2500 Pull-Requests und 4300 Branches verkraften.

Um die enorme Geschäftigkeit handhaben zu können, setzt Microsoft nicht auf Git selbst, sondern auch auf eine modifizierte Version des Systems und das hauseigene Git Virtual File System (GVFS) auf. Das von Microsoft ersonnene System steht unter den Bedingungen der MIT-Lizenz und modifiziert das Verhalten von Git teils drastisch. So wird beispielsweise bei einem Pull nicht das komplette Repositorum auf ein lokales System kopiert, sondern nur ein in strukturelles Skelett. Sobald eine Datei geöffnet werden muss, kümmert sich GVFS darum, dass sie auch bereitgestellt werden kann, und lädt sie im Hintergrund herunter. Denn nicht nur die Anzahl der Zugriffe bereitet Microsoft Probleme, auch die Größe stellt das Unternehmen vor Herausforderungen.

Mit einer Größe von 300 GB und einer Dateizahl von 3,5 Millionen stellen auch simple Operationen, wie beispielsweise git status, ein massives Problem dar. So dauerten auch einfache Operationen mitunter Stunden, weshalb Microsoft das System anpasste und es besser an GVFS integrierte. Unter anderen führen beispielsweise Änderungsprüfungen auf Dateien, die nicht von GFVS lokal bereitgestellt worden sind, zu keinen Aktionen, da sie logischerweise nicht lokal verändert werden konnten. Mit einer längeren Arbeitszeit an einem Projekt hilft aber auch GFVS nicht weiter.

Mit zunehmender Dauer fassen Entwickler allerdings immer mehr Dateien an – sei es beim Kompilieren oder Debuggen – was dazu führt, dass auch die Vorzüge von GFVS nicht mehr ausreichen. Microsoft passte deshalb Git so an, sodass es nur noch geänderte Dateien verwaltet. Ein eigener Git-Proxy – eine weitere Anpassung – sorgt zudem für schnellere Dateiauslieferungen.

Mittlerweile arbeiten knapp 3500 der insgesamt 4000 Windows-Entwickler mit Git und die Resonanz auf das System soll weitgehend positiv ausfallen. Lediglich 17 der insgesamt 251 befragten Entwickler waren mit Git als Unterbau sehr unzufrieden, wohingegen 54 sehr zufrieden waren. Herry sieht deshalb positiv in die Zukunft und plant weitere Anpassungen, die Git auch auf massiven Repositorien weiter voranbringen sollen.

Werbung
Pro-Linux
Traut euch!
Neue Nachrichten
Werbung