1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264
|
The RCS MINI-HOWTO
Robert Kiesling
v1.4, 14 agosto 1997
Questo documento riguarda l'installazione di base e l'uso di RCS, lo
GNU Revision Control System (sistema di controllo delle revisioni di
GNU), sotto Linux. Viene trattata anche l'installazione delle utilit
diff(1) e diff3(1), che sono necessarie per il funzionamento di RCS.
This document may be reproduced freely, in whole or in part, provided
that any usage of this document conforms to the general copyright
notice of the HOWTO series of the Linux Documentation Project (Questo
documento pu essere riprodotto liberamente, in tutto o in parte, a
patto che qualsiasi uso di questo documento sia conforme alla nota di
copyright generale delle serie HOWTO del Linux Documentation Project).
Vedere il file COPYRIGHT per i dattagli. Mandate reclami, suggeri
menti, errata e qualunque altra cosa a kiesling@terracom.net, affinch
io possa mantenere questo documento il pi completo e aggiornato pos
sibile. Traduzione di Fabrizio Stefani (fabrizio_stefani@yahoo.it),
22 luglio 1999.
1. Panoramica di RCS.
RCS, il Sistema di Controllo delle Revisioni (revision control
system), una raccolta di programmi per tenere traccia dei
cambiamenti nei file di testo e controllare gli accessi ai file
condivisi in situazioni di lavoro di gruppo. Generalmente viene usato
per mantenere i moduli di codice sorgente. Si presta anche a tenere
traccia delle revisioni dei file di documentazione.
RCS stato scritto da Walter F. Tichy e Paul Eggert. L'ultima
versione di cui stato fatto il porting per Linux RCS Versione 5.7.
disponibile anche una versione semi-ufficiale, che usa i thread.
Gran parte delle informazioni contenute in questo HOWTO sono state
prese dalle pagine di manuale di RCS.
RCS include il programma rcs(1), che controlla gli attributi dei file
archivio di RCS, ci(1) e co(1), che effettuano il check in ed il check
out dei file dagli archivi RCS, ident(1), che effettua ricerche di
identificatori chiave negli archivi RCS, rcsclean(1), un programma per
cancellare i file su cui non si sta lavorando o che non sono cambiati,
rcsdiff(1), che esegue diff(1) per confrontare le revisioni,
rcsmerge(1), che fonde due rami (branch) RCS in un singolo file di
lavoro, e rlog(1), che stampa i messaggi di log di RCS.
I file archiviati con RCS possono essere testo in qualunque formato, o
binari se il programma diff, usato per generare i file con i
cambiamenti, gestisce dati ad 8 bit. I file possono opzionalmente
includere stringhe di identificazione, per aiutare nel tracciamento
con ident(1). RCS usa le utilit diff(1) e diff3(3) per generare i
file con le modifiche tra pi revisioni. Un archivio RCS formato
dalla revisione iniziale di un file, che la versione 1.1, e una
serie di file con le modifiche, uno per ogni revisione. Ogni volta
che un file in un archivio viene estratto con co(1), editato e rimesso
di nuovo nell'archivio con ci(1), il numero di versione viene
incrementato, per esempio ad 1.2, 1.3, 1.4, e cos via per le
revisioni successive.
Gli archivi stessi di solito risiedono in una sottodirectory ./RCS,
sebbene RCS abbia anche altre opzioni per immagazzinare gli archivi.
Per una presentazione di RCS vedere la pagina di manuale rcsintro(1).
2. Requisiti di sistema.
RCS ha bisogno di diff(1) e diff3(3) per generare i file con le
differenze di contenuto fra le revisioni (i file diff). La suite di
utilit diff deve essere installata nel vostro sistema e, quando
installate RCS, il software ne controller la presenza.
I binari precompilati delle diffutils sono disponibili presso:
ftp://sunsite.unc.edu/pub/Linux/utils/text/diffutils-2.6.bin.ELF.tar.gz
e sui suoi siti mirror. Se avete bisogno di compilare diff(1) (ed
altri), dal sorgente, lo trovate presso:
ftp://prep.ai.mit.edu/pub/gnu/diffutils-2.7.tar.gz
e sui suoi siti mirror.
Dovrete anche avere le librerie ELF installate sul vostro sistema, se
volete installare i binari precompilati. Vedere l'ELF-HOWTO per
ulteriori dettagli.
3. Compilare RCS dal Sorgente.
Prendete la distribuzione sorgente di RCS Versione 5.7. disponibile
presso
ftp://sunsite.unc.edu/pub/Linux/devel/vc/rcs-5.7.src.tar.gz
e sui suoi mirror. Dopo che avete spacchettato l'archivio nel vostro
albero dei sorgenti, dovrete configurare RCS per il vostro sistema.
Ci viene fatto attraverso lo script configure nella directory sor
gente, che dovete eseguire per primo. Cos facendo verranno generati
un Makefile e l'appropriato conf.sh per il vostro sistema. Potete poi
battere
make install
che compiler i binari. Ad un certo punto potreste dover eseguire un
su a root affinch i binari possano essere installati nelle giuste
directory.
4. Creare e mantenere archivi.
Il programma rcs(1) effettua il lavoro di creazione degli archivi e di
modifica dei loro attributi. Un riassunto delle opzioni di rcs(1) pu
essere trovato nella pagina di manuale di rcs(1).
Il modo pi facile per creare un archivio di effettuare innanzi
tutto un mkdir RCS, nella directory corrente, e poi inizializzare
l'archivio con il comando
rcs -i nome_file_di_lavoro
Ci crea un archivio di nome ./RCS/nome_file_di_lavoro,v e richiede un
messaggio di testo per la descrizione dell'archivio, ma non mette nes
suna revisione nell'archivio. Potete abilitare o disabilitare il
bloccaggio rigoroso (strict locking) dell'archivio con i comandi
rcs -L nome_file_di_lavoro
e
rcs -U nome_file_di_lavoro
rispettivamente. Ci sono altre opzioni, trattate nella pagina di man
uale di rcs(1), per controllare l'accesso all'archivio, impostarne il
formato e impostare i numeri di revisione.
5. ci(1) e co(1) .
ci(1) e co(1) sono i comandi usati per effettuare il check in
(controllo in inserimento) ed il check out (controllo in estrazione)
dei file dai loro archivi RCS. Il comando ci(1) pu anche essere usato
per effettuare sia il check in che il check out da un archivio. Nella
loro forma pi semplice, ci(1) e co(1) prendono solo il nome del file
di lavoro.
ci nome_file_di_lavoro
e
co nome_file_di_lavoro
Il comando nella forma
ci -l nome_file_di_lavoro
effettua il check in del file abilitandone il blocco (lock enabled)
mentre
co -l nome_file_di_lavoro
effettuato automaticamente. Cio, ci -l effettua di nuovo il check
out del file, con il blocco abilitato.
ci -u nome_file_di_lavoro
effettua il check in del file nell'archivio ed effettua di nuovo il
check out con il blocco disabilitato. In tutti i casi, all'utente
viene chiesto un messaggio di log.
ci(1) creer anche un archivio RCS se non ne esiste gi uno.
Se non specificate una revisione, ci(1) incrementa il numero di
versione dell'ultima revisione bloccata nell'archivio ed aggiunge allo
stesso il file di lavoro appena rivisto. Se specificate una revisione
su un ramo gi esistente, essa deve essere pi alta dei numeri di
revisione esistenti. ci(1) creer anche un nuovo ramo se specificate
la revisione di un ramo che non esiste. Per i dettagli, vedere le
pagine di manuale di ci(1) e co(1).
ci(1) e co(1) riconoscono varie opzioni per usi interattivi e non. Di
nuovo, vedere le pagine di manuale di ci(1) e co(1) per i dettagli.
6. Storia delle revisioni.
Il programma rlog(1) fornisce informazioni sul file archivio e i log
di ogni revisione in esso immagazzinata. Un comando come
rlog nome_file_di_lavoro
stamper la storia delle revisioni del file, per ogni revisione stam
per la data di creazione e lo userids dell'autore, e la persona che
ha bloccato il file. Potete specificare gli attributi dell'archivio ed
i parametri di revisione da vedere.
7. Includere i dati RCS nei file di lavoro.
co(1) mantiene una lista di parole chiave del database RCS che vengono
espanse quando viene effettuato il check out nel file di lavoro. La
parola chiave $Id$ in un documento sar espansa in una stringa che
contiene il nome del file, il numero di revisione, la data del chek
out, l'autore, lo stato della revisione e chi che lo ha bloccato, se
c'. Includendo la parola chiave $Log$ essa verr espansa nel log
della storia delle revisioni del documento.
Questa ed altre parole chiave possono essere usate come criteri di
ricerca negli archivi RCS. Vedere la pagina di manuale di ident(1) per
ulteriori dettagli.
8. Il Controllo della Versione con RCS e emacs(1) .
La capacit di controllo della versione di emacs(1) funziona come
front end per RCS. Questa informazione specifica per la versione
19.34 dello GNU emacs, che incluso con le principali distribuzioni
di Linux. Quando si edita un file con un emacs(1) che registrato con
RCS, il comando vc-toggle-read-only (legato a C-x C-q per default)
controller la versione di un file in emacs, e poi in RCS. Emacs
aprir un buffer in cui potrete scrivere un messaggio di log, premere
C-c C-c per terminare l'input, e procedere con il processo di check
in.
Se avete selezionato il bloccaggio rigoroso per il file con RCS,
dovete ribloccare il file per poterlo editare con emacs(1). Potete
fare il chek out del file, per farne il controllo della versione con
emacs, con il comando % nel modo buffer-menu.
Per maggiori informazioni, vedere il Manuale dello GNU Emacs e le
pagine info di Emacs.
|