Development

Windows 10
Git

Windows staat op giga Git-repository

Het open source ontwikkelplatform Git van Linus Torvalds heeft een bijzondere gebruiker.

8 februari 2017

Het open source ontwikkelplatform Git van Linus Torvalds heeft een bijzondere gebruiker.

Microsoft blijkt voor de ontwikkeling van Windows gebruik te maken van het gedistribueerde versiebeheersysteem Git dat werd ontwikkeld door Linus Torvalds. In totaal omvat de code base in de respository 300 GB.

Microsoft gebruikte altijd Source Depot, een versiebeheersysteem dat in huis is ontwikkeld, meldt Ars Technica. Als alternatief voor Source Depot werd al geruime tijd geleden het geavanceerdere Team Foundation Server (TFS) application lifecycle management (ALM) system waarin ook Team Foundation Version Control (TFVC). Microsoft-ontwikkelaars gebruiken dit nieuwere systeem voor veel producten, zoals bijvoorbeeld Xbox en Hololens. Maar juist de grote legacyproducten als Windows en Office komen om diverse redenen niet los van Office Depot.

Nu Microsoft werkt aan een eenvormige kern van zijn besturingssystemen in de vorm van OneCore, was het noodzakelijk ook het application lifecycle management voor alle producten gelijk te trekken. Daarvoor werd One Engineering System (1ES) in het leven geroepen. De Team Foundation Server is een belangrijk element in 1ES. Maar er moest ook een versiebeheersysteem komen. Uiteindelijk is daarbij niet gekozen voor het in eigen beheer ontwikkelde Team Foundation Version Control (TFVC), maar voor Git. Die keuze is minder opmerkelijk dan op het eerste oog lijkt. Microsoft werkte al sinds 2013 aan het integreren van Git in TFS. Vooral de ontwikkelaars die werken aan de opensource-projecten waarin Microsoft in toenemende mate participeert, zetten Git in voor hun projecten in plaats van TFVC.

Migratie geen simpel klusje

De standaardisering op Git had echter wel wat voeten in de aarde. TFVC en Source Depot hadden een gecentraliseerd versiebeheersysteem. Ontwikkelaars konden zich beperken tot het lokaal opslaan van die bestanden die zij nodig hadden voor hun werk. Git maakt echter gebruik van een gedecentraliseerd systeem en gaat er van uit dat ontwikkelaars een lokale kopie van de gehele repository maken. Dat is bij Windows niet mogelijk. Die bestaat vanwege de geschiedenis van de software uit miljoenen bestanden die samen enkele honderden gigabytes beslaan.

Microsoft heeft daarom verbeteringen aan Git aangebracht om met grote repositories overweg te kunnen. Daartoe is het Git Virtual File System (GVFS) ontwikkeld. Dat zorgt er voor een soort index van de repository die de ontwikkelaars in eerste instantie downloadt. Vervolgens worden alleen die bestanden gedownload die de ontwikkelaar nodig heeft. Microsoft heeft het GVFS weer als open source project ingebracht op Github.

Zie ook Development op AG Connect Intelligence

Reactie toevoegen