Un sistema di controllo di versioni è uno strumento software che tiene traccia di tutte le revisioni e le release del codice sorgente o della documentazione di un prodotto software. I motivi dell’uso di un programma di questo tipo sono:
In questo articolo tratteremo di uno tra i più utilizzati di questi tipi di software, CVS ( Cuncurrent Versions System ). Si tratta di uno strumento open source largamente utilizzato su piattaforme UNIX, ma il cui porting è disponibile anche per altre piattaforme.
CVS utilizza i termini di “revisione” e “release” rispettivamente per le versioni dei singoli file e per l’intero progetto. Il programma inoltre memorizza tutte le revisioni in un database, detto repository, centrale, utilizzando una sottocartella per ogni progetto gestito. I concetti di base di un qualunque strumento di controllo della versione sono quelli di:
Possiamo notare come:
I metadati relativi al file di cui è stato effettuato il check-out sono memorizzati in una sottocartella situata nella directory di lavoro chiamata “CVS”. Ovviamente è possibile selezionare gli utenti che possono effettuare le operazioni di check-in e check-out di determinati file. La cartella in cui è memorizzato il repository viene specificata tramite la variabile d’ambiente CVSROOT o con il comando:
cvs –d cartella_di_lavoro
Per creare un nuovo repository occorre dare il comando:
cvs –d /opt/cvsroot init
L’opzione –d deve essere utilizzata con un qualsiasi comando che non operi su una cartella di lavoro già specificata in un’operazione di check-out; in alternativa è possibile definire una variabile d’ambiente CVSROOT con il comando setenv CVSROOT /opt/cvsroot, naturalmente gli utenti che usano sh o bash come shell possono modificare i file bashrc del proprio profilo ed esportare la variabile export CVSROOT=/opt/cvsroot. Una cartella specificata con l’opzione –d avrà comunque sempre la precedenza sulle altre impostazioni. Per creare il progetto occorre creare una cartella, portarsi in essa ed utilizzare il comando:
cvs import
Se ad esempio abbiamo modificato il file test.cpp, una volta copiato nella cartella del progetto, occorre effettuare il check-in con il comando cvs commit test.cpp. Buona norma, quando si effettua il check-in di un file, è di inserire un commento al file modificato come in questo esempio: cvs commit –m “aggiunto codice fiscale alla form utente” test.cpp.
Per vedere le differenze tra il file nel repository e quello locale si può dare il comando:
cvs diff test.cpp
se poi vogliamo aggiungere o eliminare un file alla lista del repository occorre dare il comando:
cvs add test1.cpp o cvs remove test.cpp
ovviamente per salvare le modifiche al repository occorre dare il comando cvs commit.
Come abbiamo già detto in precedenza cvs può lavorare anche in remoto con ssh, basta settare la variabile CVS_RSH su ssh. Una volta configurato ssh occorre creare una cartella di lavoro per il progetto test con il seguente comando:
cvs –d:ext:user@hostname:/path/to/repository checkout test
user@hostname è lo userid con il quale ci si connette al server, mentre ext serve per utilizzare rsh per la connessione. Per un eventuale accesso anonimo si utilizza il comando:
cvs –d :pserver:anonymous@anoncvs.esempio.com:/cvs/test login
il protocollo pserver abilita l’autenticazione tramite password.
Sono arrivato alla convinzione che un abbonamento per tutti i miei software gestionali sia il…
MerciGest è un software per la gestione del magazzino completamente gratuito. Continua a leggere→
In ufficio può capitare di doversi allontanare dal proprio posto di lavoro, ecco che allora…
In questo articolo vedremo quando è più o meno utile togliere la corrente ad un…
Dopo la pausa invernale dovuta al lavoro che devo fare per sostentarmi, eccomi di nuovo…
Vediamo come eliminare i files direttamente da Windows senza utilizzare il cestino. Continua a leggere→