Diferencia entre revisiones de «CVS»

De Guía Ubuntu
Saltar a: navegación, buscar
(mejor todo junto)
Línea 35: Línea 35:
 
         group = cvs
 
         group = cvs
 
         server = /usr/bin/cvs
 
         server = /usr/bin/cvs
         server_args = -f --allow-root=/var/lib/repositorio/perico \
+
         server_args = -f --allow-root=/var/lib/repositorio/perico --allow-root=/var/lib/repositorio/tuxitron pserver
                        --allow-root=/var/lib/repositorio/tuxitron \
+
                      pserver
+
 
         wait = no
 
         wait = no
 
}
 
}

Revisión de 09:06 31 jul 2006

El Sistema de Control de Versiones CVS permite que varios programadores trabajen de forma colaborativa en un mismo proyecto llevando un control de las versiones de los ficheros.

Instalación

El programa viene en el paquete cvs que puedes encontrar en los repositorios de Ubuntu. O sea, que lo puedes instalar de forma fácil usando algunos de los métodos disponibles en Añadir aplicaciones.

Configuración

Vamos a tener cada proyecto en un repositorio separado, que es lo suyo para tener un control más fino sobre cada uno de los distintos repositorios. Es mejor así por el tema de usuarios, permisos y configuraciones varias. Todos estos repositorios los vamos a crear dentro del directorio /var/lib/repositorio/, por ejemplo, para tenerlos juntos y facilitar el tema de la copia de seguridad.

Una vez declaradas estas premisas procedemos a la inicialización del repositorio que albergará un hipotético llamado tuxitron. Estas tareas de instalación las haremos como root:

$ cvs -d /var/lib/repositorio/tuxitron init

Para que todos los usuarios del grupo cvs tengan permisos para trabajar con el repositorio, hacemos que todos los ficheros de recién creado repositorio pertenezcan a ese grupo:

$ chgrp cvs /var/lib/repositorio/tuxitron -R

Ahora le tenemos que indicar al CVS que puede disponer del nuevo repositorio. Si usamos el superdemonio xinetd tendremos que editar el fichero:

$ gedit /etc/xinetd.d/cvs 

y añadir el nuevo repositorio:

--allow-root=/var/lib/repositorio/tuxitron

Al final debe quedar una cosa así:

service cvspserver
{
        socket_type = stream
        protocol = tcp
        user = root
        group = cvs
        server = /usr/bin/cvs
        server_args = -f --allow-root=/var/lib/repositorio/perico --allow-root=/var/lib/repositorio/tuxitron pserver
        wait = no
}

Y reiniciamos el superservidor para que los cambios surtan efecto:

$ /etc/init.d/xinetd reload

Hacer un backup

Veamos un ejemplo de cómo hacer un backup de nuestro preciado repositorio de CVS. Simplemente lo que hace es:

  • Crea un fichero .tgz con el contenido del repositorio
  • Envía el fichero a un servidor de backup
  • Envía un correo al usuario root para avisale del proceso

El script es bastante simple y puedes adaptarlo a tus necesidades sin gran esfuerzo.

#!/bin/sh

CVS_ROOT="/var/lib/cvs"
TMP_MSG="/tmp/backup_cvs.tmp"
TMP_DATA="/root/Backup/CVS#$(date +%Y-%m-%d).tgz"

# Make backup
echo $TMP_DATA > $TMP_MSG
echo "==================================" >> $TMP_MSG
/bin/tar czf $TMP_DATA $CVS_ROOT 2>> $TMP_MSG

# Subimos todo al FTP de GIT
lftp -e "mput $TMP_DATA;quit" ftp://usuario:password@ftp.servidor.com/cvs

# Send mail
/bin/mail -s "CVS Backup" root < $TMP_MSG
/bin/rm $TMP_MSG

Más información