Diferencia entre revisiones de «Svn»

De Ardemans Wiki
Saltar a: navegación, buscar
(Tareas básicas de svn)
Línea 1: Línea 1:
 +
= Mi SVN =
 +
 +
 +
 +
 
== Introducción ==
 
== Introducción ==
  

Revisión de 17:29 11 sep 2011

Mi SVN

Introducción

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.

Tareas básicas de svn

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: (mi ejemplo se llama netapp)

# svnadmin create /opt/svn/netapp

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/netapp

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/netapp/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.

Debemos cargar los módulos de webdav de svn:

LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so
LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so

Despues configurar el virtual host:

<VirtualHost *>
        ServerAdmin webmaster@localhost
        ServerName svn.ardemans.com

        DocumentRoot /var/www/svn.ardemans.com
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>

        <Location /netapp>
                DAV svn
                SVNPath /opt/svn/netapp
                AuthType Basic
                AuthName "Mi proyecto de Netapp"
                AuthUserFile /etc/subversion/passwd
                Require valid-user
        </Location>

        ErrorLog /var/log/apache2/error-svn.ardemans.com.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access-svn.ardemans.com.log combined
        ServerSignature On

</VirtualHost>