glug:cvs pratico

Paolo Gaggini paolo@gseserver.net
Mer 23 Lug 2003 23:06:10 CEST


Dovrei essere riuscito a configurare decentemente cvs su Sempervirens 
(uno dei miei due server).
Ora non rimane che farci un po' di esperimenti :-)

Il progetto -l'unico- presente nel mio repository (il "contenitore" dei 
progetti gestiti da cvs) è WebCal, il calendario/agenda online che ho 
preannunciato qualche giorno fa. 

Chi erano gli interessati? Non accalcatevi! :))
Dunque, funziona così: i file di webcal (comprese le immagini gif 
binarie) stanno sul server e sono il riferimento unico per tutti.
Gli sviluppatori attingono i sorgenti da li, li modificano, li testano 
ecc e quando ne hanno una nuova versione pronta la rimettono sul server 
centrale, e dovrebbero anche avvisare gli altri sviluppatori delle 
avvenute modifiche (ho istituito, a tal proposito, l'alias 
webcal@gseserver.net). Da quel momento, gli altri possono 
risincronizzare i propri sorgenti con la nuova versione.

Ecco cosa deve fare il singolo sviluppatore, sulla sua macchina:
inserire in .bashrc nella sua home (o se preferisce, farlo a mano ad 
ogni reboot...) la variabile CVSROOT con i segueti comandi:
CVSROOT=:pserver:webcal@www.gseserver.net:/var/lib/cvs
export CVSROOT

il significato è questo: "usa il server cvs presente su 
www.gseserver.net, con il metodo di autenticazione pserver, loggandoti 
come user cvs webcal e usando come repository /var/lib/cvs"
L'utente webcal l'ho creato apposta per cvs, ma non ha accesso al resto 
del server. Non chiedetemi di crearne altri perchè è un po' una menata: 
devo ricopiare la password criptata a mano, cambiargli il gruppo, 
ecc... (a meno che qualcuno non mi dica che deve esserci un user 
diverso per ogni persona fisica che accede al cvs)

A questo punto loggatevi con il semplice comando:

cvs login

Vi verrà chiesta la password. Ve la do in privato.
Quindi tornerà il prompt. Tutto qui. D'ora in avanti, tutti i comandi 
cvs che darete andranno ad agire quando necessario sul mio server.
Ricordatevi, quando avete finito di lavorare, di fare il logout:

cvs logout

Per sincronizzare i sorgenti cvs con quelli locali, o per crearli sulla 
vostra macchina per la prima volta, scegliete ed entrate nella vostra 
directory di lavoro, ad es /home/pippo/devel e lanciate il comando:

cvs checkout webcal

in men che non si dica tutto l'albero dei sorgenti sarà in locale sulla 
vostra macchina, nella directory /home/pippo/devel/webcal

A questo punto, potete vedere lo status dei file con questo comando 
(dovete entrare nella directory webcal, ovviamente) 

cvs status index.php

Il log delle modifiche si ottiene così:

cvs log index.php

Modificate il file come vi pare, testatelo ecc e quando siete 
soddisfatti riallineante il vostro lavoro con il repository cosi':

cvs commit -m "Commento log"

questo comando salva le vostre modifiche sul server, incrementa il 
numero di versione e aggiunge il commento al log (il changelog).
Ho fatto una prova cambiando una virgola e ho visto cosa appare sul 
server: nel repository c'è un file index.php,v che contiente il file 
originale più, in coda, dei codici che esprimono la modifica che ho 
effettuato.
Poi ho rifatto il cvs log, e ho visto la mia modifica in elenco. Dopo 
questa operazione il sospetto che ogni sviluppatore debba avere un suo 
username cvs mi è però diventato una quasi certezza... qualcuno 
conferma?

Beh, come base per iniziare dovrebbe bastare. Vediamo che succede 
adesso... 

__________________________________
Paolo Gaggini
gse@libero.it  --   email pubblica
http://www.gseserver.net  -- GSE Network

#220216 Linux Registered User




Maggiori informazioni sulla lista glug