Introduzione

Cvs, ovvero Concurrent (o Current) Version System, è un sistema di controllo di revisione (o di versione) il cui scopo è quello di gestire più versioni (o appunto revisioni) del medesimo codice sorgente agendo direttamente sul tree remoto. I cambiamenti effettuati sul codice sorgente vengono automaticamente registrati con un autoincremento di un dato valore numerico o alfanumerico che indica univocamente la revisione.

Caratteristiche

Il punto di forza di questa tecnologia è il poter tenere sotto controllo qualsiasi cambiamento effettuato dagli sviluppatori, avendo la possibilità di tornare a revisioni precedenti nel caso di errori o manomissioni volontarie al codice sorgente.
Indubbia è anche la possibilità di collaborazione estesa che grazie a questo sistema diviene semplice: un gruppo di persone può infatti lavorare liberamente allo stesso codice sorgente modificando il tree remoto ed aggiornando la propria copia locale in relazione a modifiche di altri sviluppatori.

Installazione del client

Per utilizzare cvs su piattaforma Linux si utilizza cvs, il client opensource. In Ubuntu esso si trova nei repository ed è installabile con il seguente comando:

sudo apt-get install cvs

Cvsroot

Cvsroot è una variabile molto importante per il lavoro mediante cvs. La corretta impostazione permette di operare sul repository scelto senza dover ripetere ogni volta la sua locazione e la procedura del login. Ovviamente questo si adatta a chi ha a che fare specialmente con un solo repository cvs.

Il modo più semplice per impostare questa variabile è:

CVSROOT=:pserver:nomeutente@dominio.it:/percorso/al/cvs

Una volta impostata è necessario esportarla:

export CVSROOT

Così che possa essere usata dal programma. Per controllare che tutto sia andato a buon fine, eseguire:

echo $CVSROOT

Controllare che l'output sia quello inserito in precedenza.

Checkout

L'operazione più semplice e comune per la maggioranza degli utenti è quella di checkout, ovvero di copia del tree remoto di un programma in una directory locale. Il comando da passare al programma è co e la sintassi è la seguente:

cvs -d :pserver:nomeutente@dominio.it:/percorso/al/cvs co cartella

oppure avendo già impostato correttamente la variabile Cvsroot:

cvs co directory

Creare un repository

Per creare un nuovo tree sia remoto che locale il comando utilizzato è sempre import. La sintassi generale di utilizzo è:

cvs -d :pserver:nomeutente@dominio.it:/percorso/al/cvs import -m "primo import in CVS" nomeprogetto vendortag releasetag

Per maggiori informazioni sull'amministrazione avanzata di CVS consultare questa pagina.

Il comando è complesso e di utilizzo frequente su tree remoti: è pertanto conveniente usare la variabile Cvsroot per semplificare la sintassi. Nel caso di utilizzo di cvsroot il comando diviene:

cvs import -m "initial import into CVS" myproj vendortag releasetag

Perché questo comando dia i risultati aspettati è necessario eseguirlo dopo aver navigato mediante terminale all'interno della cartella contenente i file del progetto. Ad esempio volendo importare dei file presenti nella directory cvs del proprio Desktop il comando da eseguire prima di cvs import è:

cd Desktop/cvs

Altre Operazioni

Per l'esplicazione dei seguenti comandi si fa riferimento ad un sistema in cui sia già stata configurata la variabile Cvsroot. In caso contrario, in ogni comando aggiungere:

-d :pserver:nomeutente@dominio.it:/percorso/al/cvs

Aggiungere file o directory

Per aggiungere un file o una cartella (automaticamente in modo ricorsivo, indi comprendente tutti i file e le sottodirectory al suo interno) al tree si utilizza il comando add con la sintassi:

cvs add file
cvs add cartella

Rimuovere file o directory

Per rimuovere un file o una directory (anche in questo caso ricorsivamente) si usa il comando rm:

cvs rm file
cvs rm cartella

Alcune limitazioni di cvs

Purtroppo il metodo cvs ha alcune limitazioni in operazioni di utilizzo comune ed è per questo che spesso, al suo posto, si preferisce usare SVN.

Ulteriori risorse


CategoryProgrammazione CategoryDaRevisionare

Programmazione/Cvs (l'ultima modifica è del 13/10/2021 16.44.05, fatta da ivantu)