GLM - 16/1/2018 - 13:30


Classifica dei relatori GLM 2014 (per numero di lezioni svolte)

  1. [9] Samuele Cacchiarelli
  2. [6] Andrea Bianchini
  3. [6] Gianluca Gabrielli
  4. [1] Matteo Ciccioli
  5. [1] Fabio Pagnotta
  6. [1] Alessandro Zampa
  7. [1] Emanuele
  8. [1] Roberto Marozzi
  9. [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

server glm
Il nostro Server

bella gnocca freebsd
FreeBSD It's Here!

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.

Lato Server

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

Lato Client

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:

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