Relocalización de repositorios SVN

Retomo nuevamente el tema repositorios, y en particular con Subversion.

El comando svn que vamos a ver hoy se llama switch.

Con ésta herramienta podemos ir alternando nuestro proyecto (o parte de él) con los distintos branches que tenga el repositorio, y también podemos apuntar el proyecto entero a otra dirección de repositorio.

Yo me voy a centrar en ésta última parte, en la de la relocalización de un repositorio entero.

La primera pregunta sería: ¿por qué tengo que relocalizar el repositorio?. El escenario más común podría consistir en que por cuestiones externas al desarrollador, la dirección inicial usada para el checkout ya no esté disponible y ahora el mismo repositorio esté accesible a través de otra url.

Si éste es nuestro caso, para poder seguir trabajando sin tener que hacer un nuevo checkout y padecer todos los problemas que ello implique, basta con volver a apuntar nuestra copia local con la nueva url.

La forma de hacerlo sería la siguiente.

cd /path/a/copia/local
svn switch --relocate http://url.original/repositorio/trunk http://url.nueva/repositorio/trunk .

Espero que el ejemplo sea claro.

Primero, nos paramos en el directorio en el cual se encuentra nuestra copia de trabajo, y luego corremos el comando agregándole el parámetro –relocate junto con la url original y seguida a esa, la nueva url.

Un detalle, el punto final es parte del comando.

Otro detalle, y el último, es que lo que cambia es la url, pero no el repositorio físico. El repositorio físico debe ser el mismo con el que estábamos trabajando.