CVS multi-repository

E' possibile tramite un solo CVS server installato su un sistema, gestire più repository contemporaneamente, ognuno indipendente dall'altro e con i propri utenti e password. Per poter sfruttare questa possibilità è necessario aggiungere le directory degli ulteriori repository, in coda a quella già esistente.  

Supponendo di voler gestire oltre a quello presente in /home/cvs, un nuovo repository presente nella directory /home/system-cvs, sarà necessario, dopo averlo inizializzato tramite il comando cvs -d /home/system-cvs init ed averne configurato gli utenti, aggiungerlo al file di configurazione gestito dal superdemone di sistema inetd o Xinetd:

root@enigma:/# grep cvs /etc/inetd.conf
cvspserver stream tcp nowait root /usr/sbin/tcpd /usr/bin/cvs --allow-root=/home/cvs /home/system-cvs pserver


Nel caso si utilizzi xinetd:

[root@vagante xinetd.d]# cat cvspersver
service cvspsever
{
        port           = 2401
        socket_type    = stream
        protocol       = tcp
        user           = root
        wait           = no
     passenv         = PATH
        server         = /usr/bin/cvs
    server_args       = -f --allow-root=/home/cvs/ /home/system-cvs pserver
}

E' possibile notare come in tutti e due i casi inetd e xinetd --allow-root definisce due repository

Una volta aggiunte le modifiche, è necessario riavviare il demone.

Ovviamente, il client dovrà essere a conoscenza di quale connessione utilizzare e si avranno quindi due stringhe di connessione differenti quali :pserver:utente@hostname:/home/cvs nel caso di accesso al primo repository, oppure :pserver:utente@hostname:/home/system-cvs nel caso di accesso al secondo.

Privacy Policy