GLM - 17/5/2022 - 11:31
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
Giovedì 13 Maggio 2004
Controllo delle revisioni con RCS
In questa serata abbiamo introdotto i sistemi di gestione e controllo
delle revisioni presenti in Linux ovvero il sistema rcs
(revision control system) ed il
sistema cvs (concurrent versioning system).
Questi programmi, sono stati creati per permettere
all'utente programmatore di salvare i propri progetti in un
formato che desse la possibilità di:
- gestire un progetto insieme ad altri utenti
- tenere traccia delle singole revisioni del progetto
- recuperare le stesse in qualsiasi momento
- visualizzare le differenze delle varie revisioni del progetto
- evitare che diversi utenti creino in un determinato momento, modifiche al progetto in contrasto tra loro
Di questi, il sistema rcs è il meno complesso e più semplice da utilizzare e risulta particolarmente indicato per gestire più revisioni di singoli file presenti sulla propria macchina. Il sistema cvs al contrario risulta indicato nel caso di progetti che interessano un più ampio numero di file e directory o che sono sviluppati da un gruppo di utenti dislocati su computer diversi da quello che contiene gli archivi originali del progetto.
Il funzionamento del sistema rcs è molto
semplice e può essere diviso a livello logico nelle seguenti
fasi:
check-in
Si effettua per memorizzare un file dentro un archivio RCS, associando a tale file un determinato numero di versione (se non specificato espressamente, rcs lo calcola automaticamente).
ci file.txt
Se nella directory di lavoro (dove è presente il file
file.txt) esiste una directory chiamata RCS,
allora il comando
precedente registrerà il file,txt nell'archivio
RCS/file.txt,v ,
altrimenti creerà l'archivio file.txt,v direttamente
nella directory corrente (quella in cui è presente il file.txt
).
Il file.txt verrà cancellato dalla directory corrente ed
inserito nell'archivio con un determinato numero di versione,
calcolato automaticamente dal programma.
Se si aggiunge l'opzione -u il file verrà inserito ma non
cancellato dalla directory corrente.
Durante l'esecuzione del comando, se non espressamente indicato con
l'opzione -m, verrà chiesto di inserire un commento
descrittivo relativo alla versione del file che andiamo ad
archiviare.
check-out
Si effettua per estrarre dall'archivio una determinata versione del file in esso memorizzato (di default verrà estratta, l'ultima versione).
co file.txt
Questo comando estrarrà dall'archivio
RCS/file.txt,v l'ultima versione del file file.txt.
Il file verrà estratto in sola lettura.
Qualora lo si voglia
estrarre al fine di modificarlo occorrerà aggiungere al comando
precedente l'opzione -l.
co -l file.txt
Questa opzione farà si che:
- file.txt venga estratto con i permessi di scrittura;
- venga inibita ad ogni altro utente presente sulla stessa macchina di creare e depositare nello stesso archivio una nuova versione del file in questione, fino a che l'utente che ha dato il lock all'archivio non lo sblocchi con un nuovo check-in.
visualizzazione delle revisioni presenti nell'archivio
Per visualizzare ed analizzare tutte le revisioni presenti in un determinato archivio RCS, si usa il comando rlog
rlog file.txt
Questo comando mostrerà tutte le revisionii del file file.txt presenti nell'archivio RCS/file.txt,v.
visualizzazione delle differenze tra le varie revisioni
Per visualizzare le differenze tra versioni diverse di un determinato file presente in un archivio RCS si usa il comando rcsdiff
rcsdiff -r1.2 -r1.4 file.txt
Questo comando mostrerà le differenze tra la versione
1.2 e la versione 1.4 del file file.txt
presenti entrambe nell'archivio RCS/file.txt,v.
Il formato dell'output del comando rcsdiff sarà
identico a quello adottato dal comando diff (utilizzato
per mostrare le differenze o creare file patch tra due file
diversi).
Ulteriori argomenti trattati nella serata sono stati:
- Utilizzo basilare dell'editor vi
- Utilizzo del comando diff
- Utilizzo del comando patch
- Introduzione al sistema CVS e sue principali differenze rispetto a RCS
Relatore della serata:
Samuele Cacchiarelli