Crear una copia de nuestro proyecto sin las carpetas .SVN

Hace unos meses publiqué una entrada en la que explicaba cómo eliminar las carpetas .SVN de un proyecto. Algún usuario me ha pedido más información y un ejemplo sobre cómo crear una copia de un proyecto que usa Subversion pero sin las dichosas carpetas .SVN.

Tal y como comenté puede hacerse mediante el comando:

svn export repositorio directorio_detino

Para no complicarme la vida voy a poner un ejemplo práctico de un proyecto que tengo ahora. El proyecto se llama “uib” y está en mi memoria USB (que se monta como /media/KINGSTON) y está en la carpeta SVN. La copia sin las carpetas de Subversion va a estar en ‘/home/gorka/proyectos/uib_distro’. Por lo tanto el comando quedaría así:

svn export file:///media/KINGSTON/SVN/uib/trunk /home/gorka/proyectos/uib_distro

Ojo, yo uso la organización de directorios que comenté en este post sobre primeros pasos con SVN, por eso uso la carpeta ‘trunk’.

Y si el directorio destino (/home/gorka/proyectos/uib_distro) ya existiera habría que añadir al final la opción:

--force

Primeros pasos con SVN (II)

En esta segunda entrega vamos a ver cómo usar un servidor SVN en MS Windows y cómo conectarse a él desde otra máquina.

En primer lugar debemos arrancar el servidor SVN:

svnserve -d -r c:\\svn

Ahora vamos a otra máquina e intentamos conectarnos al servidor SVN. Para eso creamos una carpeta de trabajo (por ejemplo c:\mis proyecto\base_gamma o, en Linux, /home/gorka/proyectos/base_gamma) y nos bajamos una copia del proyecto. Supongamos que el servidor tiene la IP 192.168.1.13 (esta tienes que sustituirla por la IP o el dominio de tu servidor):

svn co svn://192.168.1.13/base_gamma/trunk .

Se puede apreciar que la única diferencia entre trabajar con el servidor en el mismo PC o trabajar remotamente es que en lugar de conectarnos a:

file:///c:/svn/

nos conectamos usando:

svn://192.168.1.13/

Arrancar el servidor automáticamente

Para automatizar el arranque del servidor lo que he hecho ha sido crear un archivo ejecutable llamado arrancar.bat en la carpeta de repositorios (en este caso c:\svn) con el comando que hemos usado antes:

svnserve -d -r c:\\svn

y luego lo he llevado como acceso directo a Inicio->Programas->Inicio.

Existe también un servicio llamado SVNService que no he probado así que no puedo deciros cómo funciona, pero hay información en Google sobre el tema.

Usando contraseñas

Vamos a configurar el servidor de modo que se necesite una clave para poder acceder a él.

Comenzamos por editar el fichero svnserve.conf que está en el directorio conf de nuestro repositorio (en este caso c:\svn). Lo editamos y descomentamos las líneas (descomentar = quitar las # del principio de la línea):

password-db = userfile
realm = gamma

userfile es el fichero que contiene los datos de autentificación de los usuarios y realm es una etiqueta que definimos nosotros, en este caso gamma.

Si te fijas estas líneas están dentro de la sección [general] del fichero.

Guardamos el fichero, lo cerramos y abrimos userfile que está en el mismo directorio. Vamos a crear al usario ross y le vamos a crear como contraseña hulkmalo.:

[users]
ross = hulkmalo

Guardamos el fichero y lo cerramos.

Reiniciamos el servidor y ya debería funcionarnos correctamente.

Para conectarnos usamos:

svn co svn://192.168.1.13/base_gamma/trunk . ross hulkmalo

En la próxima entrega voy a hablar de algunos clientes de SVN como Tortoise SVN y RapidSVN.