Versionshantering
Versionshanteringhandlar om att hålla ordning på förändringar som görs i en produkt, ett dokument eller ett datorprogram, så att man i efterhand kan plocka fram äldre versioner och jämföra dem mot varandra för att spåra förändringar.Versionshanterare används också för att dela kod mellan utvecklare. Om flera utvecklare arbetar på samma kod finns givetvis risken att de "trampar varandra på tårna", vilket versionshanterare löser på olika sätt:
- Pessimistisk låsning är att utvecklaren låser filerna, ochhindrar på så sätt att någon annan modifierar dem.
- Optimistisk låsning innebär att filerna inte är låsta, men att incheckningarna är kontrollerade. Det krävs därmed en mekanism för att sammanjämka flera ändringar, s.k. merge.
De flesta versionshanterare kan stödja båda modellerna, men de skiljer sig åt i fråga om vilken modell som känns mest naturlig. Medan det är tveksamt om RCS kan användas med annat än pessimistisk låsning, lutar CVS och Subversion starkt åt det optimistiska hållet. Source Safe är förinställt för pessimistisk låsning, men fungerar bra med den optimistiska modellen. Clear Case lär vara ganska neutralt.
I det dagliga programmeringsarbetet är det ganska ovanligt att alla ändringar är begränsade till en och samma fil; en buggrättning kan ofta påverka ett ganska stort antal filer. De flesta av dagens system för versionshantering är inte så väl avpassade för denna verklighet, eftersom de egentligen bara hanterar enskilda filer. Transaktionsinriktade versionshanteringssystem råder bot på denna brist: En incheckning kan bestå av en eller flera filer, och varje incheckning är atomär, vilket bland annat innebär att alla ingående delmoment måste lyckas för att transaktionen skall genomföras. Subversion är transaktionsinriktat, medan CVS och SourceSafe inte är det.
Versionshantering utgör första steget mot konfigurationsstyrning.
- CVS, Concurrent Versions System
- Subversion
- BitKeeper
- Rational Clearcase
- Telelogic CM Synergy
- RCS, Revision Control System
- SCCS, Source Code Control System
- PRCS
- Microsoft Visual SourceSafe
- Perforce
- Aegis
- Arch
- Darcs
- Monotone
Artikeln skriven 2009-01-18 av Learning4sharing
Inga kategorier för denna artikel än...Intresserad av fler artiklar?
AmdahlHumoralpatologi
Sparka
GDI
Skärgårdskryssare
Sinne för humor
Segelarea
Svart humor
21