Versjonskontrollsystem

Et versjonskontrollsystem, eventuelt versjonsstyringssystem eller versjonshåndtering,  er programvare som kan holde orden på de forskjellige versjonene av en eller flere datafiler. Når en fil oppdateres eller forandres, slettes ikke den gamle versjonen, men blir lagret i en database som inneholder tidligere versjoner av filene. Gamle versjoner kan hentes frem, og det er som oftest mulig å vise forskjeller mellom de forskjellige versjonene og lage utviklingsgrener fra disse versjonene.

 Fordeler med versjonskontrollsystemer 

 Alle tidligere versjoner av filene lagres, så man kan rekonstruere filstrukturen til ethvert tidspunkt. En feil har for eksempel oppstått i et program. Når oppsto denne feilen? Hva ble gjort som forårsaket denne feilen? Man vet med sikkerhet at en tidligere versjon av programmet ikke hadde denne feilen, altså må feilen ha oppstått på et visst tidspunkt. Ved å rekonstruere tidligere versjoner kan man identifisere endringene som introduserte feil. Det er lett å vise forskjeller mellom to forskjellige versjoner og på den måten ha kontroll over hva som er gjort.
 Ved å skrive inn en kommentar hver gang en versjon legges inn, får man etter hvert en bra oversikt over utviklingen.
 Flere brukere kan som oftest jobbe ganske uavhengig av hverandre på de samme filene. Etter at filene er forandret, legges de inn i systemet, og andre brukere som har tilgang til systemet, vil få med seg disse oppdateringene. Dette er en god hjelp i å forhindre at dine forandringer blir annullert fordi gamle versjoner av filen blir lagt inn av de andre utviklerne.
 Systemer som dette forhindrer at man legger ned mye arbeid i form av redigering av gammel, avleggs kildekode, men har stadig siste versjon innen rekkevidde med komplett historie for hver enkelt fil.
 Det er ofte mulig å lage parallelle og alternative versjoner som det kan arbeides på uten at den stabile eller vanlige versjonen blir påvirket.

 Versjonskontrollsystemer beskrevet på Wikipedia 
 Subversion
 CVS (Concurrent Versions System)
 Mercurial
 Git

 Se også 

 Konfigurasjonsstyring
 Programvareutvikling

 Eksterne lenker 

 Git
 CVS (Concurrent Versions Systems)
 Subversion 
 GNU Arch
 OpenCM
 Aegis 
 Monotone
 Vesta 
 BitKeeper (Proprietært)
 IBM Rational ClearCase
 Perforce

Kategori:Gruppevare
Kategori:Programmering
Kategori:Publiseringssystem