[successivo] [precedente] [inizio] [fine] [indice generale] [parte]
Il sistema di gestione è distribuito su più programmi di servizio. Ognuno di essi svolge una funzione precisa.
rcs
Crea un nuovo file RCS o modifica le caratteristiche di uno esistente.
rcsclean
Rimuove i file che non sono mai stati utilizzati.
rcsdiff
Confronta due versioni distinte di un file RCS.
rcsmerge
Crea un unico file di lavoro che contiene le differenze tra due revisioni differenti di un file RCS.
rlog
Stampa informazioni di servizio di un file RCS.
ci
Memorizza nuove revisioni in un file RCS.
co
Preleva le revisioni da un file RCS e le memorizza nel corrispondente file di lavoro.
ident
Ricerca tutte le istanze inserite da RCS in un file.
merge
Crea un un unico file di lavoro che contiene tutti i cambiamenti tra due revisioni.
Prima di iniziare qualsiasi operazione è importante creare un contenitore o deposito dove RCS tiene traccia dei cambiamenti. Il deposito è una directory.
$
mkdir RCS
[Invio]
Supponiamo che il file da gestire sia miofile.c
. Il primo passo da compiere è di depositare la prima versione del file.
$
rcs -i miofile.c
[Invio]
Crea un nuovo file RCS ma non deposita nessuna revisione.
$
ci -i miofile.c
[Invio]
RCS/miofile.c,v <-- miofile.c enter description, terminated with single '.' or end of file: NOTE: This is NOT the log message! >> Questo è un file di esempio >>. initial revision: 1.1 done |
A questo punto il programma chiede informazioni per gestire correttamente il sistema di revisioni. Per prima cosa bisogna fornire un commento sulla natura del file: per semplicità digitiamo "Questo è un file di esempio" terminato con un punto alla riga successiva.
Il programma Ci deposita il file di lavoro nella directory RCS. Terminata l'operazione elimina il file dalla directory corrente. Per evitare la cancellazione del file di lavoro è indispensabile aggiungere l'opzione -l che ha la funzione anche di proteggerlo.
$
ci -i -d -l miofile.c
[Invio]
Annota, nella revisione anche, la data (opzione -d) dell'ultima modifca subita dal file.
Per ripristinarlo è necessario fare l'operazione inversa: prelevare l'ultima revisione dal deposito e utilizzare un nuovo file di lavoro. Questa procedura viene svolta dal programma Co.
$
co -l miofile.c
[Invio]
RCS/miofile.c,v --> miofile.c revision 1.1 (locked) done |
È sufficiente modifcare il file di origine e ripetere la procedura; RCS incrementa in modo automatico il numero di revisione. L'opzione -l protegge il file in modo che altri utenti non possano modificarlo.
Per rimuovere la protezione utilizzare l'opzione -u; utilizzarla nel caso in cui le modifiche al file non siano gradite.
$
co -u miofile.c
[Invio]
All'interno di un file progetto RCS è possibile inserire delle macro che hanno la funzione di conservare informazioni. Queste ultime vengono espanse ed inserite nel file sorgente con le operazioni di deposito successive. Per prevenire spiacevoli incovenienti è preferibile porle nelle sezioni commentate.
/* Autore: $Author: umbertoz $ */ ... int main () { ... } |
ci [opzioni] file
Il programma di servizio Ci deposita il file di lavoro nella directory RCS.
$
ci -r2 nomefile
[Invio]
Deposita una nuova revisione (in questo caso si inizia una nuova diramazione) del file.
$
ci -d -l nomefile
[Invio]
Deposita una nuova revisione utilizzando la data, recupera il file di lavoro e lo protegge.
$
ci -M -d -l nomefile
[Invio]
Come il precedente, tuttavia la data del file è uguale a quella della revisione recuperata; questa richiesta può confondere programmi come Make.
Alcune opzioni
Opzione | Descrizione |
-rrev | Deposita la revisione specificata. |
-r | Individua l'ultima revisione nel deposito. Rilascia la protezione sul file e cancella il file di lavoro. Viene adoperato per eliminare i comportamenti dati da -l e -u. |
-l[rev] | Deposita il file e subito dopo lo recupera e lo protegge. Questa operazione consente di continuare a lavorare con il file. |
-u[rev] | Deposita il file e subito dopo lo recupera senza proteggerlo. Questa operazione lascia il file di lavoro in sola lettura. |
-f[rev] | Forza una operazione di deposito anche se la nuova revisione non è differente dalla precedente. |
-k[rev] | Ricerca nel file di lavoro le parole chiave legate ai campi: autore, data di creazione, numero di revisione e stato. Questi valori verranno assegnati alla revisione del file depositato. Viene generato un messaggio di informazione contente l'autore della revisione e la data corrente. Questa caratteristica può essere sfruttata per distribuire il software. |
-q[rev] | Non produce l'uscita diagnostica sulle operazioni effettuate. |
-i[rev] | Effettua il deposito iniziale. Restituisce un messaggio di errore se il file è già presente. |
-j[rev] | Deposita senza inizializzare. Restituisce un errore se il file non esiste. |
-I[rev] | Esegui il programma in modalità interattiva. |
-d[date] | Utilizza la data date per effettuare il deposito del file. Se non viene specificata viene utilizzata la data dell'ultima modifica del file. |
-M[rev] | Lascia la data del nuovo file di lavoro uguale a quella del file depositato. |
-mmsg | Visualizza la stringa msg come messaggio di benvenuto in tutte le revisioni depositate. |
-nname | Associa un nome simbolico al numero di revisione durante l'operazione di deposito. Viene visualizzato un errore se il nome è già stato assegnato in precedenza. |
-Nname | Forza l'associazione ad un nome simbolico al numero di revisione durante l'operazione di deposito. |
-sstate | Imposta lo stato della revisione. Lo stato di default è Exp. |
-tfile | Scrive un testo descrittivo nel file RCS come contenuto nel file file. Il contenuto esistente viene cancellato. Il file non può iniziare con il carattere "-". |
-t-string | Scrive un testo descrittivo nel file RCS come contenuto nella stringa string. Il contenuto esistente viene cancellato. L'operazione di deposito avviene normalmente con la richiesta di digitare un testo da parte dell'utente. Questo comportamento evita questa procedura. |
-wlogin | Cambia il nome della login nel campo dell'autore nel file depositato. Può risultare utile in abbinamento con l'opzione -k. |
-v | Stampa le informazioni sulla versione di RCS. |
-Vn | Adatta il comportamento di RCS alla versione n; in questo modo è possibile scambiare file con versioni precedenti. |
-xsuffixes | Imposta una lista di suffissi per il file RCS. Un suffisso non nullo individua un qualsiasi percorso finale che termina con il suffisso stesso. La lista dei suffissi viene separata dal caratter '/' e quelli predefiniti sono ',v' ed il suffisso vuoto. |
-z | Specifica la zona predefinita quando si usa l'opzione -d. Un valore numerico indica lo scarto rispetto allo UTC, altrimenti può rimanere vuoto o LT (Local Time). Il file RCS viene comunque salvato con l'ora rispetto allo UTC. |
co [opzioni] file
Il programma di servizio Co preleva il file di lavoro dal deposito RCS e crea un nuovo file di lavoro.
$
co -l -kv miofile.c
[Invio]
Preleva l'ultima revisione del file miofile.c
e genera i valori associati alle parole chiave ma, non le parole chiave.
$
co -u miofile.c
[Invio]
Toglie la protezione del file se questo è stato protetto.
$
co -u -d"18:55" miofile.c
[Invio]
Preleva la revisione con la data minore delle ore 18:55 riferite al giorno corrente. Il file non viene protetto.
$
co -r1.9 -l nomefile
[Invio]
Preleva la revisione 1.9; per recuperare l'ultima della dirmazione utilizzare -r1.
Alcune opzioni
rcs [opzioni] file
Rcs consente di creare un nuovo file RCS oppure di cambiare le caratteristiche di uno esistente. Si tratta di un programma di servizio per la manutenzione e l'amministrazione dei depositi. Per il corretto utilizzo di Rcs è fondamentale che l'utilizzatore appartenga alla lista di accesso presente nel file RCS stesso; questo è pur sempre vero, tuttavia vi sono delle eccezzioni se il richiedente è il super utente o proprietario del file e se la lista degli accessi è vuota.
$
rcs -u1.9 nome_file
[Invio]
Togli la protezione alla revisione 1.9 se quest'ultima fu in precedenza protetta per qualche motivo. Non è detto che la revisione 1.9 sia l'ultima della diramazione; in questo caso è possibile specificare solo il ramo, ossia con -u1.
Alcune opzioni
Opzione | Descrizione |
-i | Crea ed inizializza un nuovo file RCS ma non deposita nessuna revisione. Se non viene indicato un percorso prima cerca di posizionarlo nella directory RCS quindi in quella attuale. |
-alogin[, login, ...] | Aggiunge uno o più utenti nella lista degli accessi. |
-Avecchio_file | Aggiunge la lista degli accessi associata a vecchio_file nel nuovo file. |
-e[login[, login, ...]] | Elimina uno o più utenti dalla lista degli accessi. Se non ne viene specficato nessuno vengono eliminati tutti. |
-b[rev] | Imposta la diramazione rev come predefinita. Se viene omessa viene presa quella più alta nell'albero. |
-cstring | Imposta un commento iniziale al posto del suffisso del file di lavoro; questa opzione è da scartare, ed è preferibile utilizzare la macro $Log$. |
-ksubst | Cambia la parola chiave predefinita. Quest'ultima viene ristabilita con l'opzione -kkv. |
-l[rev] | Protegge la revisione con il numero rev. Se viene specificata al posta della revisione una diramazione viene bloccata l'ultima. Se non è presente rev protegge l'ultima revisione della diramazione predefinita. La protezione evita che vengano effettuati dei cambiamenti non graditi. |
-u[rev] | Toglie la protezione alla revisione con il numero rev. Solo il proprietario può rimuovere una protezione eventualmente non fosse così viene inviata una mail a chi ha originato il blocco. Il comportamento è equivalente all'opzione precedente. |
-L | Imposta la protezione di tipo strict; ciò significa che il propietario del file RCS non è esentato dal proteggere il file durante il deposito. Viene utilizzato per condividere i file di sorgente. |
-U | Imposta la protezione di tipo non strict; ciò significa che il proprietario del file non deve proteggere una revisione durante il deposito. Non deve venire utilizzata per i file di sorgente in codivisione. |
rcsdiff [opzioni] file
Rcsdiff confronta due revisioni di un file RCS.
Se il nome del file ha un suffisso tipo RCS allora denota un file RCS, altrimenti individua un generico file di lavoro.
$
rcsdiff nome_file
[Invio]
Confronta l'ultima revisione della diramazione predefinita con il file di lavoro.
$
rcsdiff -r1.3 nome_file
[Invio]
Confronta la revisione 1.3 con il file di lavoro.
$
rcsdiff -r2 nome_file
[Invio]
Confronta l'ultima revisione della diramazione 2 con il file di lavoro.
$
rcsdiff -r1.3 -r1.4nome_file
[Invio]
Confronta la revisione 1.3 con la revisione 1.4.
Alcune opzioni
Opzione | Descrizione |
-q | Non visualizza informazioni diagnostiche. |
-ksubst | Pratica la sostituzione delle parole chiavi come spiegato in Co (vedi sez. 7.4. |
-rrev1 | Specifica un numero di revisione. |
-rrev2 | Specifica un numero di revisione. |
-T | Vedi opzioni in sez. 7.4. |
-V[n] | Vedi opzioni in sez. 7.4. |
-xsuffisso | Vedi opzioni in sez. 7.4. |
-zzona | Vedi opzioni in sez. 7.4. |
opzioni diff | Acetta le opzioni del programma Diff, nell'ordine inserito. |
Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome gestione_dei_fle_con_rcs.html