Svn

De Ardemans Wiki
Saltar a: navegación, buscar

Como herramienta de control de versiones para el código de mis aplicaciones y scripts uso SVN.

En el servidor que voy a usar como SVN instalo el paquete subversion, y también para apache2 instalo el paquete libapache2-svn, que me añadirá un módulo para poder acceder a mis repositorios de subversion desde cualquier punto.

En primero lugar dedicamos un path de nuestro servidor para almacenar los datos de subversion, en mi caso voy a usar /opt/svn (uso /opt porque es donde tengo el volumen donde hago backups, sinó podría crear un volumen propio montado por ejemplo /SVN)

Creamos un repositorio de subversion, esto lo hacemos con:

# svnadmin create /opt/svn/<repositorio>

Una vez creado el repositorio tendremos que crear la estructura de repositorio svn, en /tmp podemos crear un directorio nuevo /tmp/svn y dentro crear los siguientes directorios:

# mkdir /tmp/svn/trunk
# mkdir /tmp/svn/branches
# mkdir /tmp/svn/tags

y desde el directorio /tmp/svn ejecutamos el siguiente comando para importarlos al repositorio:

# svn import . file:///opt/svn/<repositorio>

Veremos que aparece el mensaje:

Añadiendo      trunk
Añadiendo      branches
Añadiendo      tags

Ahora, si queremos crear en local al servidor nuestro primer working copy tendremos que hacer lo siguiente en un directorio vacío

# svn co file:///opt/svn/<repositorio>/trunk

Ahora con ese repositorio lo que podemos hacer es exportarlo de diferentes maneras,en nuestro con webdav a través de un servidor web Apache.

Configurar apache para webdav

La versión de apache que voy a usar yo es la 2.2.8, que viene con la paquetería de ubuntu. Usando paquetería también vamos a instalar el modulo de apache para svn, que se llama libapache2-svn. Bueno, en realidad esta parte depende mucho de como tengas instalado el servidor web, así que no me entretendré más.

Lo importante es el fichero de configuración de apache. Para mi instalación me he creado una nueva entrada en el dns que se llama svn.ardemans.com, y es ahí donde voy a publicar por webdav mis repositorios.