Concurrent Versions System
Concurrent Versions System (CVS) on vaba versioonihalduse tarkvara. See süstematiseerib ja säilitab informatsiooni faili muutmise ajaloo kohta (kes tegi, mida ja millal). Lisaks kehtestab CVS faili muutmise tingimused ja jälgib nende täitmist, mis võimaldab vältida muudatuste hävimist kui ühe ja sama failiga töötab paralleelselt mitu inimest. Failis toimuvad muudatused jagunevad ajaliselt järjestatud versioonide vahel, mida CVS nimetab väljaanneteks (revision). Iga väljaanne kannab faili kontekstis unikaalset järjekorranumbrit, mis näitab väljaande loomise aega – suurem number tähendab hilisemat väljaannet. Seda nimetab CVS väljaande numbriks (revision number). Failid ja nende erinevad väljaanded koonduvad mooduliteks (module). Väljaandeid säilitab keskhoidla (repository), mille käest saab pärida ajutist töökoopiat (working copy). Andmevahetus keskhoidla ja ajutise töökoopia vahel toimub käskjalana tegutseva programmi (CVS client) abil. Uus väljaanne tekib keskhoidlasse kahel juhul. Sagedamini siis kui kasutaja saadab sinna mõne varasema väljaande põhjal ehitatud uue versiooni. Harvemini lisab kasutaja mooduli töökoopiasse täiesti uue faili ja saadab selle keskhoidlasse – esialgne fail saab esimeseks väljaandeks. Ühel failil võib olla kuitahes mitu väljaannet, millest omakorda moodustub faili väljaannete ajalugu (revision history). Olemasolevat väljaannet pole võimalik muuta ega püsivalt kustutada, välja arvatud juhul kui toimub kogu keskhoidla kustutamine. Keskhoidlas olevate failide kõige värskemad väljaanded moodustavad erilise hulga, mida CVS nimetab keskhoidlas säilivate väljaannete tipuks (HEAD). See kajastab keskhoidla kui terviku ”olevikku”, kuhu toimub väljaannete lisamine. Keskhoidla väljaannetest muu suvalise komplekti moodustamiseks saab kasutada silte (tag) – samasse komplekti kuuluvatele väljaannetele tuleb külge riputada ühesugune silt.