Wiki: Subversion

Startsidan | Senaste ändringarna | Lista alla sidor | Sök


Subversion

Subversion är ett såkallat revisionshanteringssystem. Ett väldigt långt och krångligt ord, men samtidigt väldigt användbart. Själva konceptet kan vara lite svårt att förstå, men med några fina exempel ska det nog gå vägen.
Till att börja med skall man kanske veta att Subversion är ett system som används när flera programmerare utvecklar samma kodbas. Det vill säga att flera kodare ändrar i samma filer till ett projekt.
När man gör detta så uppstår det vanligtvis en del problem, och det är tänkt att subversion skall lösa dem för användarna.

Tänk dig följande scenario, vi har en grupp på två personer som kodar på ett enkelt spel. Person A skriver en funktion där spelet loopar runt i all evighet, precis som vanligt. Person B vill sedan hjälpa till lite, så person A loggar in på MSN och skickar filen till person B.
Person B skriver om en del i programmet, och går sedan och lägger sig. Person A bestämmer sig följande dag för att skriva lite ny kod, och vipps så har vi två olika versioner av programmet som man inte enkelt kan lägga ihop. Det man vanligtvis gör nu är att kasta den ena delen av koden om det inte är för jobbigt att skriva om den.

Om projektet fortsätter i den där stilen kommer man till slut ha skrivit om ganska mycket kod, och förlorat väldigt mycket tid. Dessutom har man troligtvis bråkat en hel del om vilken version av koden man skall använda, om man inte rent av har lagt ner hela projektet.
Man skulle kunna lösa detta genom att man skickar filerna över MSN så fort man ändrat minsta lilla sak, men detta blir väldigt jobbigt eftersom MSN eller andra chatnätverk inte är gjorda för detta. Dessutom kan det uppstå situationer då den ena personen inte är online, och då går det åt skogen med allt.

Detta projekt skulle bli många gånger värre om man var flera än två kodare, är man fyra stycken skulle man inte ens orka skicka all kod till alla presoner, och allt skulle falla samman.

Om man här skulle använda subversion så skulle alla problem lösas, bland annat så skulle man inte behöva bry sig om vem som är online och inte, eftersom servern alltid är online. Det enda man gör är att skicka upp sina ändringar i koden till servern när man jobbat på projektet, så kan de andra i projektet ladda ner koden när de vill jobba och får då automatiskt den senaste versionen av alla kod från alla personer med ett knapptryck i princip.
Om man väntar så länge med att uppdatera koden så att flera personer ändrat i samma filer finns det även inbyggda verktyg som tar hand om problemet och \"mergar\" koden.
Det uppstår även en del andra problem när projektet blir större, och även dessa går utmärkt att hantera med subversion. Bland annat kan man gå tillbaka och titta i äldre versioner av koden.

Relaterat


Externa länkar




Senast ändrad av Independence 02:29 - 8:e Augusti 2006

Atom feed

Innehållet på denna sida kan ändras utav alla som är medlemmar på Blinkenlights, men du måste logga in för att kunna ändra något.