01 marzo 2007

Subversion mola 2ª parte

Primera parte del artículo.

Hoy vamos a crear un "servidor" de Subversion en el que guardaremos nuestras cosas, que podremos descargar desde cualquier ordenador y guardar los cambios otra vez en el servidor cuando queramos. Es decir, lo que hace Subversion desde siempre...

Quería comentar que a mí me gusta que cada proyecto esté en un repositorio independiente. No es necesario pero a mí me gusta más.

Necesitamos:
- Un ordenador en el que estén los repositorios. Ha de tener el servicio de SSH iniciado. Así que debería ser un UNIX para facilitar las cosas.
- Un ordenador desde el que nos conectemos para obtener la última versión del repositorio. Puede ser el mismo ordenador que el servidor. Ha de tener el cliente SSH.

Lo llamo "servidor" (con comillas) porque realmente no habrá un demonio de Subversion esperando conexiones, símplemente es que nuestro cliente de Subversion se conectará por SSH normal a la máquina servidor y hará sus cosas, sin necesidad de abrir ningún puerto más.

Crear un repositorio en el "servidor" es fácil y sencillo. Ya lo expliqué el otro día:
$ svnadmin create ~/tmp/repositorio
Debería crearse con el usuario que después vayamos a usar para conectarnos, para que no haya problemas de permisos. No hace falta permisos de administrador para nada.

Pues ale, ya está el servidor montado...

Ahora los clientes, para obtener la última versión del repositorio hemos de hacer un checkout. Para hacerlo de una máquina remota tendremos que usar algo así
$ svn checkout svn+ssh://localhost/home/x/tmp/repositorio proyecto
Con esta línea le indicamos que ha de coger el contenido del repositorio /home/x/tmp/repositorio que está en la máquina localhost (¡qué lejos!) y guardar los ficheros en el directorio local proyecto.

Al ser una conexión SSH normal nos pedirá la contraseña, nos preguntará si confiamos en la máquina remota y todo eso que sale siempre.

Luego para mandar al servidor nuestro cambios, lo que ya expliqué el otro día:
svn ci
No hace falta indicar el nombre de servidor ni nada porque Subversion ya lo recuerda y conectará al mismo. Eso sí, volverá a pedir la contraseña.

Nada más. Quien tenga dudas que las pregunte o busque en Google.