GLM - 21/2/2019 - 11:35
Classifica dei relatori GLM 2014 (per numero di lezioni svolte)
- [9] Samuele Cacchiarelli
- [6] Andrea Bianchini
- [6] Gianluca Gabrielli
- [1] Matteo Ciccioli
- [1] Fabio Pagnotta
- [1] Alessandro Zampa
- [1] Emanuele
- [1] Roberto Marozzi
- [1] Giampiero Rubini
Vuoi diventare relatore GLM? presenta anche tu una lezione su un argomento che più ti piace relativo a Linux o al mondo dell'OpenSource
Archivio news
Mercoledì 19 Maggio 2004
Controllo delle revisioni con CVS
In questa serata ci siamo occupati più in dettaglio del sistema
CVS (concurrent versioning system), già introdotto
la settimana scorsa.
CVS è un sistema che permette di far lavorare più utenti su uno
stesso progetto (costruzione di un sito Web, progammazione,
creazione di documentazione ecc.), permettendo agli stessi di
potersi confrontare e coordinare negli sforzi senza il rischio
di perdita o cancellazione di dati.
CVS infatti esattamente come RCS, archivia ogni modifica del
progetto, registrando tali modifiche come revisioni in
un unico archivio centrale (Repository). In
qualsiasi momento è possibile tornare indietro in caso
di errore e recuperare qualsiasi revisione si voglia. A differenza
del sistema RCS, CVS non genera di default un meccanismo
di blocco dei file presenti nell'archivio
quando un utente si appresta a modificarli. Ciò permette
perciò a più utenti di effettuare modifiche anche ad uno stesso
file contemporaneamente. Ciò se da una parte velocizza il
lavoro, genera potenziali situazioni di conflitto (più
utenti potrebbero infatti aver modificato uno stesso file in
parti diverse o comunque in maniera diversa). In ogni caso il
sistema permette agevolmente di risolvere tali conflitti e
di mantenere, in ogni momento, una
situazione di ordine all'interno dell'archivio che contiene
intatte tutte le versioni del progetto.
Di seguito riportiamo una breve rassegna dei comandi trattati in questa serata. Per maggiori dettagli si rimanda alla lettura della documentazione ufficiale.
Inizializzare un Repository
cvs -d /usr/local/cvsroot init
Questo comando imposta la directory /usr/local/cvsroot come Repository CVS
Importare un modulo nel Repository
cd dir_da_importare
cvs import -m "Imported sources" nome_modulo autore start
Con questi comandi si importa il contenuto della
directory da importare nel modulo nome_modulo.
Nota Bene: la directory nome_modulo dentro a
/usr/local/cvsroot deve essere accessibile in scrittura al
gruppo di utenti che dovranno lavorare sul progetto contenuto
in tale modulo
Settare le variabili ambientali
export CVSROOT=":ext:utente@192.168.1.45:/usr/local/cvsroot"
export CVS_RSH="ssh"
con questi comandi vengono specificati il metodo di accesso al server CVS, il nome dell'utente con cui ci si connette al server (deve essere un utente accreditato sulla macchina server), l'indirizzo della macchina server e l'indicazione della collocazione del Repository.
Scaricare una copia del modulo presente nel Repository
cvs co nome_modulo
In questo modo viene scaricata una copia aggiornata del modulo presente nel Repository. All'interno di tale directory, sarà possibile effettuare le modifiche che poi verranno apportate e registrate come nuove resisioni nel Repository. Questo comando va eseguito solo la prima volta, per creare una directory di lavoro locale detta sandbox. Successivamente infatti si utilizzerà il comando cvs update per scaricare gli aggiornamenti di tale modulo.
Aggiungere, rimuovere un file o una directory al Repository
cvs add file.txt
cvs remove file.txt
Ogni qualvolta si voglia creare un nuovo file o directory all'interno della directory di lavoro corrente (sandbox) o eliminarne uno esistente, bisogna dichiarare questa modifica al server CVS con i comandi di cui sopra.
Registrare le proprie modifiche nel Repository
E' sufficiente posizionarsi all'interno della directory di lavoro locale (sandbox) e dare il seguente comando:
cvs commit
Aggiornare la propria directory di lavoro
Sempre dall'interno della directory di lavoro date il seguente comando:
cvs update
Per maggiori dettagli si rimanda alla
documentazione ufficiale.
Ulteriori argomenti trattati nella serata sono stati:
- Permessi dei file
- bit suid e sugid applicati a file e directory: differenze
- differenze di CVS rispetto a RCS
Links consigliati:
http://cvsbook.red-bean.com/
Open Source Development with CVS (in Inglese), libro completo
sull'utilizzo del sistema CVS, scaricabile in vari formati.
http://www.cvshome.org/docs/manual/
sito ufficiale (in Inglese).
http://www.gentoo.it/doc/cvs-tutorial-it.html Ottimo tutorial in Italiano direttamente dal sito www.gentoo.it.
Relatore della serata:
Samuele Cacchiarelli