Il CVS (Concurrent Versions System) è uno strumento per la gestione delle versioni di in un progetto

Sostanzialmente si basa sul confronto di stringhe all'interno del file, e consta di due moduli: un server principale, che contiene tutto lo storico dei sorgenti, e un client, che gestisce le differenze

Sostanzialmente puoi fare un confronto tra la versione che stai sviluppando (lato client) e quella presente nel repository (server), ed è in grado di dirti le righe modificate/tolte/aggiunte ecc ecc

Puoi anche fare altre operazioni tipo effettuare un tag (cioè una specie di "fotografia" del repository) oppure creare un branch per avere due sviluppi differenti a partire da uno stesso sorgete; e poi ovviamente avere la possiblità di riportare tali modifiche nello sviluppo principale (main trunk)

E' uno degli strumenti più utilizzati per lo sviluppo distribuito