Recientemente he actualizado los repositorios de Subversion de una versión anterior 1.2.3 a 1.6.0 a través de svnadmin dump / load . Todos los repositorios antiguos usaban el mismo UUID (los repositorios se crearon copiando un repositorio de plantillas). He cambiado el UUID en un par de los nuevos repositorios a través de svnadmin setuuid para que sea único. No puedo simplemente reubicar mis copias de trabajo existentes de esos repositorios porque los UUID son diferentes. Sé cómo exportar la copia de trabajo y retirarla del nuevo repositorio, pero me preguntaba si había una manera de cambiar el UUID de la copia de trabajo en el lugar, como lo que hace svnadmin setuuid para los repositorios.
Aquí hay un comando que hace el truco para SVN 1.6 y siguientes:
Reemplazar
old-uuid
ynew-uuid
con los identificadores reales.fuente
sed -i "" 's/old-uuid/new-uuid/'
y funciona (solo las comillas dobles extra vacías) ( ref )La respuesta de Yves Martin funcionó muy bien para nosotros en varias copias de trabajo con SVN 1.8, pero terminamos encontrando casos en los que no funcionó.
Ejecutar el comando de Yves sin "where id = 1" funcionó en todos los casos para nosotros:
Al investigar por qué sucedió esto, descubrí que se almacenan múltiples UUID al reubicar el repositorio, en contra de la intuición de Yves de que esto nunca debería suceder.
Se agrega una nueva entrada en la tabla REPOSITORY después de una reubicación en lugar de actualizar la existente, almacenando una identificación incrementada con la nueva raíz del repositorio y su UUID. Entonces, los casos que no funcionaron correctamente fueron las copias de trabajo que ya se habían reubicado en el pasado: el comando parece funcionar, pero solo se cambió el UUID inicial, no el que se está utilizando actualmente.
Uno puede verificar la lista de raíces almacenadas y UUID en una copia de trabajo con este comando:
Finalmente notaré que tuve que usar un conjunto diferente de comillas para la línea de comandos de Windows / archivos por lotes, de la siguiente manera:
fuente
La sección " Gestión de UUID de repositorio " en svn red-bean book puede tener la respuesta que está buscando.
fuente