Nu laves Windows med software skabt af Linus Torvalds

Microsoft har flyttet Windows-kodebasen over i Git.
Illustration: @ Microsoft

Microsoft oplyste i denne uge, at selskabet har fuldført store dele af flytningen af Windows-kodebasen og -udviklerne fra Source Depot til det åbne, kildekodebaserede versionskontrolsystem Git, som oprindeligt blev udviklet af selveste Linux-skaberen Linus Torvalds.

Det skriver selskabet i et blogindlæg.

Det er et enormt projekt, og ifølge Microsoft udgør Windows-koden nu verdens største Git repository. Det er så stort, at selskabet føler sig nødsaget til at lave sit eget virtuelle filsystem – Git Virtual File System (GVFS) – for at kunne håndtere det. Flere detaljer om udviklingen af GVFS kan findes her.

30 minutter eller mere

Uden GVFS kunne mange af Git-kommandoerne i Git repository for Windows tage mere end en halv time at udføre. Det er længe at vente for at tjekke kode ind eller ud. Nu tager de fleste mindre end 20 sekunder at udføre.

Windows-kildekoden er ret omfattende. Det drejer sig om 3,5 millioner filer, som tilsammen fylder 300 gigabyte. Hos Microsoft er det omkring 4.000 udviklere over hele verden, som arbejder med denne kildekode, og hver dag laves der 1.760 'lab builds' på tværs af 440 forskellige grene og derudover tusindvis af ‘pull request validation builds’.

Temmelig problemfrit

De fleste af udviklerne er blevet flyttet over i løbet af en periode på tre måneder, men det største spring blev taget i marts, da omkring 2.200 udviklere, der arbejdede med Source Depot, gik hjem og holdt weekend en fredag eftermiddag og kunne tage Git i brug, da de mødte på job om mandagen.

Forfatteren af blogindlægget, Brian Harry, skriver, at selv om overgangen ikke skete uden problemer, så er det gået overraskende glat. Det meste af det, der ikke var problemfrit, blev løst i løbet af et par dage.

Denne artikel stammer fra norske digi.no.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (15)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
#3 Tobias Volfing

Jeg tænker, de gerne ville have noget, der kørte på Windows.

Er der noget der forhindrer ext4 i at fungere sammen med Windows? Altså er der noget der forhindrer Microsoft i at udvikle en driver?

Jeg antager at det er væsentligt mindre resourcekrævende at udvikle en driver til et eksisterende filsystem, end at udvikle et nyt. Baseret på den antagelse, er det 'korrekte' svar så ikke at ext4 ikke var 'godt nok'?

  • 1
  • 0
#4 Bjarke I. Pedersen

Kunne de ikke blot have kørt git på ext4?

Jeg er ikke sikker på det ville gøre den store forskel. Det ligner med at de har lavet en filter driver, som går ind og søger folk at det kun er de ting der skal bruges som checkes ud, så man slipper for at have 3,5 millioner filer liggende. Nu har jeg ikke lige et repo med så mange filer og tilsvarende historik liggede at teste med, men jeg tror ikke umiddelbart det er filsystemet der er problemet.

  • 1
  • 0
#5 Michael Fjeldsted

Kunne de ikke blot have kørt git på ext4?

Du skal måske overveje deres udviklingsmiljø. Deres plan var at skifte til git ikke at skifte væk fra windows.

Det er udviklingen af selve windows de har skiftet over på git. Alt deres .net open source på github osv har jo kørt git på alm filsystem i lang tid efterhånden. Alle deres open source projekter bliver jo sikkert kodet på alle mulige platforme, men windows er stadig closed og kun dem selv der koder på.

  • 0
  • 0
#8 Michael Fjeldsted

Pinligt (arrogant red.) så stadig at forlange licenspenge for good old Team Foundation Services - når man selv er ved at afvikle det internt.

Nu understøtter TFS jo fint git. Og alt hvad de har af projekter selv kører enten på TFS eller github. Der er faktisk en forbedring i forhold til tidligere, hvor det var forskelligt fra afdeling til afdeling hvad de lige brugte. Det er også en af grundende til at deres hosted TFS har fået et kæmpe løft over de sidste par år.

  • 0
  • 0
#10 Niels Dybdahl

I modsætning til en del andre systemer (subversion, cvs, sourcesafe), så er man i git nødt til at have en kopi af hele repositoriet på sin lokale maskine, hvilket gør git upraktisk til store kodebaser. Kan det tænkes at det er denne lokale kopi som de har "virtualiseret"?

  • 1
  • 0
#11 Palle Due Larsen

Pinligt (arrogant red.) så stadig at forlange licenspenge for good old Team Foundation Services - når man selv er ved at afvikle det internt.

Mig bekendt har Microsoft aldrig brugt TFS internt. Det system, der omtales i bloggen er Source Depot - et source repository, som har været brugt internt på Microsoft gennem en årrække. Hvis man bruger Visual Studio Team Services kan man frit vælge mellem TFS og Git.

  • 1
  • 0
#12 David Konrad

Og jeg synes også jeg havde hørt den "nyhed" før. Den har vist gået sin sejrsgang på slashdot en 4-5 gange. Det virker til at være et reklamestunt.

PHK har ret ford man jo skal bruge det rigtige værktøj til den aktuelle opgave. Git er super, men altså ikke super til et repositorie med 1..000.000 filer. Det var vist heller ikke meningen.

  • 1
  • 1
#15 Jesper Lund Stocholm Blogger

Microsoft blogger om deres erfaringer med projektet løbende

På sidstedagen af //build i Seattle for et par ugers tid siden holdt Microsoft en meget interessant Q/A omkring deres skift til git og hvordan de gjorde dette.

(dette kan også være grunden til den nylige interesse for emnet)

Den kan ses på Channel9 på https://channel9.msdn.com/Events/Build/2017/B8906

  • 0
  • 0
Log ind eller Opret konto for at kommentere