Feeds:
Entradas
Comentarios

Posts Tagged ‘control de versiones’

Dado que la orden commit de SVN no añade -por sí misma- elementos nuevos al repositorio, necesitaremos ejecutar un add para cada uno de dichos elementos, como paso previo para hacer el commit.

Podemos automatizar todo ello con el siguiente script:

#!/bin/bash
svn status | grep “^\?” | awk ‘{print $2}’ | xargs svn add
svn commit

Tras darle permisos de ejecución, sólo tendremos que ejecutarlo sobre el directorio con la raíz del código.

Read Full Post »

En un par de ocasiones, he tenido que revertir un servidor SVN completo a una revisión concreta. La primera, hace ya mucho, cuando un compañero decidió -por error- convertir el repositorio en recursivo. La segunda, ayer, cuando yo mismo me equivoqué subiendo un proyecto incorrecto. Sé que se podía haberlo borrado pero, ¿para qué dejar mierda en las revisiones?

Al lío. Si queremos revertir el repositorio completo a una revisión dada, los pasos son los siguientes:

  1. Crear un repositorio temporal:
    • svnadmin create /ruta/svn.tmp
  2. Volcar todos los cambios hasta la revisión, de forma incremental:
    • svnadmin dump -r 1:revisión /ruta/svn –incremental > volcado.svn
  3. Cargar el volcado en el repositorio temporal:
    • svnadmin load  /ruta/svn.tmp < volcado.svn
  4. Borrar el repositorio viejo:
    • rm -r /ruta/svn
  5. Renombrar el repositorio temporal:
    • mv /ruta/svn.tmp /ruta/svn
  6. Reparar los permisos del repositorio, si es necesario:
    • chown -R usuario.grupo /ruta/svn

Fácil, rico, y para toda la familia.

Read Full Post »

En anteriores ocasiones ya hablé de cómo instalar un servidor CVSNT en Windows XP y en Windows 2008 Server, así que ya iba siendo hora de hablar de su relevo generacional, en varios sentidos. En esta ocasión, vamos a ver cómo instalar un servidor Subversion (también llamado SVN) bajo Ubuntu GNU/Linux. Además, vamos a hacer que su acceso sea mucho más sencillo, al utilizar como protocolo de acceso el propio HTTP, gracias a WebDAV.

  1. Obviamente, lo primero será instalar un servidor Web, en este caso Apache2: sudo apt-get install apache2
  2. Lo siguiente es instalar el software de Subversion: sudo apt-get install subversion
  3. A continuación hay que instalar el módulo de SVN para Apache: sudo apt-get install libapache2-svn
  4. Ahora debemos meternos con el propio repositorio SVN…
    1. Lo primero será crear el propio repositorio: sudo svnadmin create /svn
    2. Cambiaremos el propietario del repositorio al del servidor Web: sudo chown -R www-data.www-data /svn
    3. También cambiaremos los permisos de los archivos, para evitar problemas: sudo chmod -R 770 /svn
  5. Editamos el fichero de configuración “/etc/apache2/mods-enabled/dav_svn.conf” para retocar unos detalles:
    1. Descomentar las líneas “#<Location /svn>” (línea 13) y “#</Location>” (línea 54).
    2. Descomentar la línea “#DAV svn” (línea 16).
    3. Descomentar la línea “#SVNPath /var/lib/svn” (línea 19) y configurarla para que contenga la ruta al repositorio que creamos anteriormente, en nuestro caso “SVNPath /svn”.
    4. Descomentar las líneas 40, 41 y 42, que contienen los parámetros “AuthType”, “AuthName” y “AuthUserFile”.
    5. Añadir, tras las líneas anteriores, una nueva con el texto “Require valid-user”.
  6. Ahora debemos añadir los usuarios.
    1. El primero lo haremos con la siguiente orden: sudo htpasswd -cm /etc/apache2/dav_svn.passwd usuario
    2. Para todos los demás, utilizaremos esta variación: sudo htpasswd -m /etc/apache2/dav_svn.passwd otro_usuario
  7. Por último, reiniciamos el servidor Apache: sudo /etc/init.d/apache2 restart

¡Listo! Ya podemos acceder a nuestro repositorio SVN mediante la URL “http://servidor/svn&#8221;, tanto desde un navegador Web, como desde cualquier IDE de desarrollo.

Read Full Post »

Un mes más podemos acudir a nuestra cita habitual en los kioscos con la revista @rroba, que este mes de enero publica el número 124. En este número, de nuevo, encontraréis dos artículos con mi firma, siendo uno de ellos el tema principal en portada. Se trata de mi segunda portada en la revista @rroba, tercera en un medio impreso de difusión nacional, habiendo sido la primera en la extinta Hack x Crack, con la cuarta entrega del Taller de Criptografía. Y siempre es algo que hace mucha ilusión. :-)

El artículo principal en portada se titula “Implanta tu propio servidor CVS“, que como su propio nombre indica, es un análisis de la implantación de un sistema de control de versiones, concretamente CVSNT bajo Windows, algo de lo que ya hablé -por encima- en este blog. Se analizan los problemas de sincronización, sus causas y efectos sobre el desarrollo, para posteriormente definir los sistemas de control de versiones y ejemplificar con el desplegado del servidor CVSNT, ilustrando por último un ejemplo de configuración y uso en el entorno de desarrollo NetBeans.

El otro artículo es la correspondiente entrega del curso de arquitectura, en la que continuaremos trabajando sobre la unidad de control basada en una máquina de estados que comenzamos a desarrollar el mes pasado. Con el controlador digital ya programado, lo ensamblaremos con los biestables y las puertas lógicas necesarias para obtener la unidad de control completa. Además, comprobaremos su funcionamiento mediante un Testbench, analizando los resultados obtenidos en los cronogramas de la simulación.

También encontraremos en este número la habitual y esperada entrega del curso de Hack WiFi de mi amigo NeTTinG, versando sobre el diseño e instalación de una red inalámbrica a medida.

@rroba 124

Read Full Post »

A %d blogueros les gusta esto: