Personal tools
You are here: Home Documentación Recetas Uso de Arch en vez de CVS
Navigation
Log in


Forgot your password?
New user?
 
Document Actions

Uso de Arch en vez de CVS

by Lorenzo Gil Sanchez last modified 14-05-2006 10:39 PM

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.


Powered by Plone CMS, the Open Source Content Management System Powered by GCubo Powered by Cicode

This site conforms to the following standards: