Uso de Arch en vez de CVS
Copyright © 1 de Mayo de 2005 Antonio Araúzo Azofra
Instalación del repositorio
Arch no necesita un programa servidor para almacenar el
repositorio, en su lugar usa algún tipo de acceso al sistema de
ficheros. Quizá el más cómodo y seguro a la vez sea sftp que es el
que se describe a continuación.
Hay que tener instalado el servidor ssh, en Debian el paquete
openssh-server.
Para que los permisos del repositorio a todo el grupo de desarrolladores, en /etc/ssh/sshd_config, hay que cambiar:
Subsystem sftp /usr/lib/sftp-server
por:
Subsystem sftp /usr/lib/sftp-server-wrapper
Crear el fichero /usr/lib/sftp-server-wrapper con el siguiente código:
#!/bin/sh
umask 002
exec /usr/lib/sftp-server $@
Y darle permisos de ejecución:
chmod 755 /usr/lib/sftp-server-wrapper
A continuación, creamos un grupo para controlar el acceso al
repositorio (ej. devels). Incluimos en él a todos los que tengan
permiso para modificar el repositorio en el grupo devels. Esto lo
hacemos incluyendo en /etc/group una linea como esta:
devels:*:1100:arauzo,jlaznarte,jmbs,puche
Creamos un directorio para almacenar el repositorio con sus permisos:
mkdir /home/devels
chgrp devels /home/devels
chmod 2775 /home/devels
Desde un ordenador que tenga instalado Arch (tla), creamos el
archivo para todos los proyectos (nombre recomendado:
usuario@servidor.com--year-name):
tla make-archive devels@server.com--2005-arch sftp://arauzo@server.com/home/devels/2005-arch
Uso de Arch
Para instalarlo lo más cómodo es usar el paquete que venga con tu
distribución. En Debian se llama tla (Tom Lord's Arch). También
hay otras implementaciones compatibles como
Bazaar .
Antes de empezar a usar tla, hay que identificarse. Esto soló tendremos que hacerlo la primera vez, pues se guarda en nuestra configuración:
tla my-id "Antonio Arauzo Azofra <dex@decsai.ugr.es>"
Puede que también consideres util incluir una linea como esta a tu
.bash_profile para especificar el editor que quieres usar para los
comentarios de los cambios:
export EDITOR="/usr/bin/joe"
Creación de un nuevo proyecto
Lo creamos y añadimos el código:
tla archive-setup devels@server.com--2005-arch/inv--development--0.1
cd codigo
tla init-tree devels@server.com--2005-arch/inv--development--0.1
tla add-id *.py
tla import
Donde inv es el nombre del proyecto, development la rama de
desarrollo, y 0.1 la revisión; codigo el directorio con el código
inicial del proyecto, y *.py los ficheros a incluir.
Extrayendo una copia del repositorio
Registramos en nuestra configuración el archivo y extraemos una copia del proyecto:
tla register-archive sftp://arauzo@server.com/home/devels/2005-arch
tla get devels@server.com--2005-arch/inv--development--0.1
Operaciones típicas
Actualizando nuestra copia:
tla update
Enviando nuestros cambios:
tla commit
Incluyendo nuevos archivos y directorios:
tla add-id nombre
Eliminar un fichero del directorio y del repositorio:
tla rm nombre
El uso de add podría evitarse cambiando la configuración del repositorio para que incluya automáticamente todos los fichero de código. Esto no es trivial, porque hay que especificar que ficheros de los que apareceran en el directorio se quiere que sean incluidos y cuales no. Un prometedor avance en este tipo de gestores de versiones es Bazaar-NG que está todavia en fase de desarrollo.





