IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Instal·lació

Per instal·lar cvs només cal executar:

$ sudo apt-get install cvs


Configuració del servidor. Repositoris remots

Recursos:


Accés a un repositori remot

L'esquema d'accés a un repositori CVS és:

[:method:][[user][:password]@]hostname[:[port]]/path/to/repository

A la secció [[CVS#Com_accedir_a_un_repositori_CVS | Com accedir a un repositori CVS] teniu un exemple de com accedir a un repositori CVS remot (emacs).


Mètodes d'accés

CVS permet connectar-se al repositori remot amb diferents mètodes de connexió.


Accés anònim

L'accés anònim es fa mitjançant l'accés amb contrasenya/pserver utilitzant un usuari especial (anonymous).


Autenticació per contrasenya (pserver)

CVS té un servidor (pserver) que es basa el super servidor inet.

Tal i com podem observar al fitxer /etc/services:

$ cat /etc/services | grep cvs
cvspserver      2401/tcp                        # CVS client/server operations
cvspserver      2401/udp

Aquest servei s'executa pel port 2401.

If your inetd allows raw port numbers in `/etc/inetd.conf', then the following (all on a single line in `inetd.conf') should be sufficient:


2401 stream tcp nowait root /usr/local/bin/cvs cvs -f --allow-root=/usr/cvsroot pserver


Si tenim xinetd (cosa força recomanable) la configuració és lleugerament diferent. Crearem el fitxer /etc/xinetd.d/cvspserver amb el següent contingut:

service cvspserver
 {
   port        = 2401
   socket_type = stream
   protocol    = tcp
   wait        = no
   user        = root
   passenv     = PATH
   server      = /usr/local/bin/cvs
   server_args = -f --allow-root=/usr/cvsroot pserver
 }

L'accés al repositori el controla un fitxer que es troba dins del repositori ($CVSROOT/CVSROOT/passwd). El format d'aquest fitxer és similar al fitxer passwd de Linux:

anonymous:
sergi:ULtgRLXo7NRxs
pepet:1sOp854gDF3DY

Les contrasenyes estan encriptats amb la funció crypt() function, so it is possible to paste in passwords directly from regular Unix `/etc/passwd' files.)

Recursos:


RSH o SSH

També és possible connectar al repositori utilitzant usuaris del servidor i RSH o SSH. El més important és que l'usuari del servidor ha de tenir permisos per treballar amb el repositori i utilitzar el mètode d'accés ext:

cvs -d :ext:usuari@url_del_repositori_cvs.com:/path/al/repositori/cvsroot checkout nom_del_projecte

Recursos:


Com accedir a un repositori CVS

Anem a veure un exemple de com aconseguir el codi font d'una aplicació amb CVS. Obtindrem el codi font de l'aplicació emacs.

La majoria de projectes importants que utilitzen CVS tenen una pàgina web que explica com obtenir el codi font mitjançant CVS. En el cas d'emacs la podeu trobar aquí. Emacs utilitza l'aplicació savannah per gestionar el projecte. Savannah té incorporat un suport per treballar amb CVS igual que el tenen altres aplicacions de gestió de projectes com sourceforge o trac.

La comanda que ens permet obtenir una còpia d'un repositori de control de versions és checkout (vàlid tant per CVS com SVN). Per obtenir emacs hem d'executar:

$ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs co emacs
cvs checkout: CVS password file /home/cristina/.cvspass does not exist - creating a new file
? emacs/leim/SKK-DIC/.new.SKK-JISYO
cvs checkout: Updating emacs
cvs checkout: Updating emacs/1
cvs checkout: Updating emacs/admin
cvs checkout: Updating emacs/admin/charsets
..............

Veurem com es descarreguen tots els fitxers a una carpeta anomenada emacs. El text:

-z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs

Estableix una connexió anònima la repositori. El sistema d'accés al repositori és pserver. Després ve la comanda (co=checkout) i el nom del mòdul que volem descarregar.

La majoria de projectes programari lliure permeten l'accés anònim als seus repositoris de tal forma que podem accedir a tota la història del codi font de l'aplicació Open Source.

Què passaria si vulguessim introduir algun canvi. Doncs, localment podem fer els canvis que vulguem però per poder fer canvis en el repositori remot cal tenir permisos.


Accés mitjançant una aplicació gràfica. Cervisia

Podem utilitzar clients gràfics per accedir a un repositori CVS. Seguint els estàndards de programació en Sistemes GNU/Linux - Unix, aquest clients gràfics no seran més que interfícies que realment el que utilitzaran és el motor de CVS (comandes CVS).

Una de les aplicacions gràfiques més famoses és Cervisia que podem instal·lar de la següent forma:

$ sudo apt-get install cervisia

Un cop instal·lada podem executar-la:

$ cervisia

I ens apareixerà una finestra com la següent:

Fitxer:Cervisia2.png

Anem al menú Repository/Checkout. Aquí omplirem el formulari amb les següents dades: ÉS AIXÒ????


Fitxer:Cervisia1.png

Fixeu-vos que la connexió és la mateixa que abans:

-z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs

Un cop s'hagi descarregat el projecte, obrirem l'espai de treball (en anglès s'anomena SandBox). Anem al menú File/Open SandBox i escollim la carpeta emacs de dins de la carpeta de treball que hem escollit (a l'exemple /home/cristina/sessio2/emacs2):

Fitxer:Cervisia2.png

Ara podem accedir a la còpia local des d'una interfície gràfica que mitjançant menús contextuals ens permetrà interactuar de forma senzilla amb el repositori.


Comandes CVS

TODO

La majoria de comandes de CVS són equivalents a les comandes de subversion. Consulteu la secció Comandes de l'article sobre Subversion per obtenir més informació.


Recursos