## Server CVS

CVS è un sistema di controllo della versione che è possibile utilizzare per registrare i cambiamenti al codice sorgente di un programma.

### Installazione

Per installare cvs, al prompt dei comandi digitare:

    sudo apt-get install cvs

Dopo aver installato cvs, è necessario installare xinetd per avviare o fermare il server cvs. Per installare xinetd digitare:

    sudo apt-get install xinetd

### Configurazione

Una volta installato cvs, il repository viene automaticamente inizializzato e risiede, in modo predefinito, nella directory /var/lib/cvs. È possibile modificare questo percorso attraverso il seguente comando:

    cvs -d /your/new/cvs/repo init

Una volta configurato il repository iniziale, è possibile configurare xinetd per avviare il server CVS. Copiare le seguenti righe nel file `/etc/xinetd/cvspserver`.

    service cvspserver
    {
         port = 2401
         socket_type = stream
         protocol = tcp
         user = root
         wait = no
         type = UNLISTED
         server = /usr/bin/cvs
         server_args = -f --allow-root /var/lib/cvs pserver
         disable = no
    }

Assicurarsi di modificare il repository nel caso in cui sia stata modificata la directory predefinita del repository (/var/lib/cvs).

Quando anche xinetd è stato configurato, per avviare il server CVS digitare il seguente comando:

    sudo /etc/init.d/xinetd start

Per avere la conferma che il server CVS è in esecuzione, digitare il seguente comando:

    sudo netstat -tap | grep cvs

L'output del comando precedente dovrebbe essere:

    tcp 0 0 *:cvspserver *:* LISTEN

A questo punto è possibile aggiungere altri utenti, nuovi progetti e gestire il server CVS.

CVS consente di aggiungere nuovi utenti indipendentemente dal sistema operativo. Il modo più semplice è utilizzare l'utente Linux per CVS, benché presenti dei problemi di sicurezza. Per maggiori informazioni, consultare il manuale di CVS.

### Aggiungere progetti

Questa sezione spiega come aggiungere nuovi progetti a un repository CVS, creare la directory, aggiungervi i documenti necessari e i file sorgente. Per aggiungere un progetto al repository CVS, eseguire le seguenti istruzioni:

    cd your/project
    cvs import -d :pserver:nomeutente@nomehost.it:/var/lib/cvs -m "Importazione del mio progetto nel repository CVS" . new_project start

È possibile utilizzare la variabile d'ambiente CVSROOT per memorizzare la directory root di CVS. Una volta esportata, si può evitare di utilizzare l'opzione "-d" nel comando precedente.

La stringa new_project, è un tag del vendor, mentre la stringa start è una stringa di rilascio. Non servono a nulla in questo contesto, ma visto che CVS le richiede, vanno inserite.

Quando si aggiunge un nuovo progetto, l'utente CVS deve avere i permessi di scrittura per il repository CVS (/var/lib/cvs). In modo predefinito, il gruppo src possiede tali permessi. Basta semplicemente aggiungere l'utente a questo gruppo per permettergli di gestire progetti in un repository CVS.

Subversion |  | Riferimenti