Microsoft kondigt Git Virtual File System aan om zeer grote repo's te ondersteunen

Pictogram voor leestijd 2 minuut. lezen


Lezers helpen MSpoweruser ondersteunen. We kunnen een commissie krijgen als u via onze links koopt. Tooltip-pictogram

Lees onze openbaarmakingspagina om erachter te komen hoe u MSPoweruser kunt helpen het redactieteam te ondersteunen Lees meer

Git is een gedistribueerd revisiecontrolesysteem dat wordt gebruikt bij softwareontwikkeling waarbij veel mensen betrokken zijn. Veel teams bij Microsoft gebruiken Git al. Teams met grote codebases hebben te maken met prestatieproblemen met de huidige versie van Git, omdat deze niet is ontworpen om met echt enorme codebases te werken. Bijvoorbeeld, de Windows-codebase heeft meer dan 3.5 miljoen bestanden en is meer dan 270 GB groot. Wanneer je "git checkout" uitvoert, duurt het tot 3 uur, "git clone" duurt 12+ uur, of zelfs een simpele "git-status" duurt bijna 10 minuten om te draaien. Om deze prestatieproblemen te voorkomen, werkt Microsoft aan een oplossing waarmee de Git-client kan schalen naar echt enorme opslagplaatsen. De nieuwe oplossing heet GVFS (Git Virtual File System).

Dit is hoe het werkt,

  • GVFS virtualiseert het bestandssysteem onder uw repo en laat het lijken alsof alle bestanden in uw repo aanwezig zijn, maar downloadt in werkelijkheid alleen een bestand wanneer het voor het eerst wordt geopend.
  • GVFS beheert ook actief hoeveel van de repo Git in overweging moet nemen bij bewerkingen zoals uitchecken en status, aangezien elk bestand dat niet is gehydrateerd veilig kan worden genegeerd.

Aangezien GVFS wordt beheerd op het niveau van het bestandssysteem, zullen uw IDE's en build-tools ze ondersteunen zoals ze zijn. Hoewel GVFS al aanzienlijke prestatieverbeteringen biedt, werkt Microsoft eraan om deze nog verder te verbeteren. Microsoft is ook open sourcing van de klantcode. De GVFS-broncode is beschikbaar onder de MIT-licentie.

Je kunt de broncode vinden op Github hier. Lees meer over GVFS hier.

Meer over de onderwerpen: Git, Git Virtual File System, GVFS, microsoft, Broncodebeheer, versiebeheer