Concurrent Versions System

Fra Wikipedia, den frie encyklopedi

Concurrent Versions System (CVS) er et versjonskontrollsystem som er en videreføring av RCS, og som etter hvert erstattes av Subversion. CVS var det mest brukte versjonskontrollsystemet rundt år 2000, mye fordi det er dekket av GPL-lisensen og dermed er fritt tilgjengelig. Opp gjennom årene har CVS vist seg å være meget stabilt og sikkert, selv med mange hundre utviklere som jobber parallelt med mange tusen filer. Eksempler på store prosjekter som bruker CVS er nettleseren Mozilla, webserveren kompilatoren GCC og Gnome-prosjektet.

Mange prosjekter har etter hvert begynt å konvertere CVS-depotene til blant annet Subversion som er ment å være arvtakeren til CVS.

Hovedgrunnen til dette er at CVS har en del "aldringstegn", bl.a. følgende tekniske begrensninger:

  • CVS lagrer versjonsdataene i RCS-filer og er derfor basert på enkle filer. Dette fører til begrensninger som at filer ikke kan skifte navn uten at det gjøres manuelt i depotet, noe som forstyrrer historien.
  • En slettet fil kan ikke gjenoppstå som en ny fil med egen historie, den vil alltid arve versjonshistorien til den tidligere filen med samme navn.
  • CVS har ikke mulighet til atomisk innlegging (commit). Ved konflikt(er) under innlegging av mange filer samtidig kan dette føre til at kun en del av filene blir lagt inn i depotet, noe som kan føre til ustabilitet i kildekodebasen.
  • Inneholder ikke støtte for metadata, ekstra informasjon som kan lagres sammen med revisjonen eller elementet som legges inn.

Mange av disse begrensningene er blitt forbedret i alternative versjoner av CVS, som for eksempel Meta-CVS.

Eksterne lenker[rediger | rediger kilde]

Wikibøker Wikibøker: Introduksjon til CVS – bøker