Hace un rato me vi en la necesidad de borrar todos los directorios .svn (aquellos que coloca Subversion en cada directorio de nuestra copia de trabajo para llevar el control de cambios). El problema era que esta copia de trabajo tiene una estructura de directorios bastante extensa, por lo que hacerlo manualmente no era una opción eficiente. Afortunadamente, desde la linea de comando de Linux podemos hacer lo siguiente:

find . -name ".svn" -exec rm -rf {} \;

Tags: ,

En los repositorios de Ubuntu Hardy (la última versión LTS liberada hasta este momento) sólo se puede encontrar subversion 1.4 debido a que en este tipo de versiones de Ubuntu, las versiones de los paquetes no se actualizan tan a menudo (salvo por correcciones y bugs) como uno quisiera.

Entonces, para poder instalar subversion 1.5, se debe hacer una pequeña maniobra. Primero, agregar lo siguiente al archivo /etc/apt/sources.list:

deb http://ppa.launchpad.net/clazzes.org/ubuntu hardy main

Luego, actualizamos la base de datos de paquetes:

$ aptitude update

Después procedemos a instalar este sistema de control de versiones:

$ aptitude install subversion

Cuando ya esté instalada esta versión, quitamos o comentamos (con un #) la línea agregada en /etc/apt/sources.list:

#deb http://ppa.launchpad.net/clazzes.org/ubuntu hardy main

Finalmente, volvemos a hacer un update de los paquetes:

$ aptitude update

Tags: , , ,

Redmine y Subversion

Web February 10th, 2009

Redmine es una aplicación web de administración de proyectos (principalmente de desarrollo) hecho en Ruby on Rails, un competidor fuerte para el veterano Trac. Lo más interesante con respecto a este último es que permite manejar más de un proyecto en una misma instancia (Trac se debe instalar y ejecutar como la cantidad de proyectos que queramos manejar).

Luego de instalarlo (usando mod_rails) y crear mi primer proyecto, configuré el repositorio (Subversion) para que apunte a una dirección como esta: https://servidor/repositorio. El problema vino cuando quise acceder a dicho repositorio desde Redmine, me devolvía un error (no recuerdo exactamente que decía). Luego de un rato de googlear, encontré que la causa probable era que debía aceptar el certificado de dicho servidor (por utilizar el protocolo https).

Resultó que la solución fue muy sencilla si se tiene acceso por SSH. Necesitaba ejecutar algún comando de Subversion (como svn list) desde el usuario que ejecute mi aplicación (por ejemplo, apache ó http) al repositorio para poder aceptar permanentemente el certificado. Todo esto, en una sola línea:

su - [USUARIO] -c 'svn list https://servidor/repositorio'

Tags: , , ,