Concurrent Versions System (CVS)

CVS is ook een afkorting voor Computer Vision Syndrome.

Concurrent Versions System (CVS) is een programma waarmee een code-ontwikkelaar verschillende ontwikkelversies van broncode kan opslaan en opvragen. Het laat ook een team van ontwikkelaars de controle delen over verschillende versies van bestanden in een gemeenschappelijke opslagplaats van bestanden. Dit soort programma's wordt ook wel een versiebeheersysteem genoemd. CVS is gemaakt in de UNIX-besturingssysteemomgeving en is beschikbaar in zowel Free Software Foundation- als commerciële versies. Het is een populair gereedschap voor programmeurs die werken op Linux en andere UNIX-gebaseerde systemen.

CVS werkt niet door het bijhouden van meerdere kopieën van broncodebestanden, maar door het bijhouden van een enkele kopie en een verslag van alle wijzigingen. Wanneer een ontwikkelaar een bepaalde versie specificeert, kan CVS die versie reconstrueren uit de vastgelegde wijzigingen. CVS wordt typisch gebruikt om het werk van elke ontwikkelaar afzonderlijk bij te houden in een afzonderlijke werkdirectory. Indien gewenst, kan het werk van een team van ontwikkelaars worden samengevoegd in een gemeenschappelijke repository. Wijzigingen van individuele teamleden kunnen aan de repository worden toegevoegd door middel van een "commit" commando.

CVS gebruikt een ander programma, Revision Control System (RCS), om het feitelijke revisiebeheer te doen - dat is het bijhouden van de wijzigingen die bij elk broncode bestand horen. De schrijvers van het meest populaire CVS Frequently Asked Questions document benadrukken dat CVS geen build systeem, een code configuratie management systeem, of een vervanging voor andere goede ontwikkelpraktijken is, maar gewoon een manier om de versies van de onderdelen van een programma te beheren terwijl ze worden ontwikkeld.