Concurrent Versions System

I dag vil vi snakke om Concurrent Versions System, et tema som har fanget oppmerksomheten til millioner de siste årene. Concurrent Versions System er et tema som har skapt debatt, inspirert til endringer og utfordret etablerte normer. Siden fremveksten har Concurrent Versions System skapt interesse og nysgjerrighet, den har blitt en inspirasjonskilde og grunn til refleksjon. Opp gjennom historien har Concurrent Versions System spilt en avgjørende rolle i kultur, samfunn og menneskers liv. I denne artikkelen vil vi utforske ulike aspekter av Concurrent Versions System, fra dens innvirkning på samfunnet til dens implikasjoner i dagens verden.

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

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