SVN: cambia la copia de trabajo para que apunte a la nueva ruta de svn

87

Tengo un repositorio SVN que se ha movido a una nueva dirección / ruta. Sin embargo, tengo una copia de trabajo con el código fuente no confirmado que aún apunta a la ruta del repositorio anterior (ahora no válida). ¿Cómo se cambia una copia de trabajo para que apunte a un nuevo repositorio?

quano
fuente

Respuestas:

78

svn switch --relocateestá obsoleto a partir de la versión 1.7 de subversion. En su lugar, utilice el svn relocatecomando.

Toma una FROM-PREFIX TO-PREFIX [PATH...]o TO-URLcomo argumentos.

Ver

svn help relocate

para más información.

Michael Krebs
fuente
58

Utilice el svn switchcomando con la --relocateopción de línea de comando.

Greg Hewgill
fuente
1
Gracias. Esto es lo que usé: svn switch --relocate file: /// Users / user / old_repository / project / trunk file: /// Users / user / new_repository / project / trunk
quano
No corrige las URL en svn: externals. Alguna idea de cómo hacerlo ?
Axel Bregnsbo
26

Usando TortoiseSVN

  1. Haga clic derecho en la copia de trabajo y seleccione 'SVN Switch ...'
  2. En el formulario 'Cambiar a rama' Seleccione una nueva ruta SVN

Usando comando

  1. Consola abierta
  2. Navega a la copia de trabajo cd [working copy path]
  3. Escribe el comando svn relocate [new url]
Ahmed Abdallah
fuente
Esto es aplicable solo si usa TortoiseSVN, que el cartel no indicó que esté usando.
zck
Hola @zck, tenga en cuenta que escribí 2 soluciones en 1 respuesta primero TortoiseSVN y el segundo es Comando, este comando está en desuso para subversión en general , puede revisar esta página svn relocate / svn Subcomandos
Ahmed Abdallah
Bueno, su respuesta fue editada después de que comenté para incluir una forma de línea de comandos para hacerlo. Esa respuesta de la línea de comandos ya se publicó en junio, por lo que no es necesario repetirla.
zck
No, publico la respuesta en sus palabras actuales mi edición solo para mejorar el formato; y creo que el comando que escribí es más claro que el que escribí en junio
Ahmed Abdallah
La forma de la GUI de TortoiseSVN requiere un clic en 'reubicar', y no cambiar. Lo cual tiene sentido dada la línea de comandos. No estoy seguro de qué haría el interruptor: parecía estar intentando acceder a la URL anterior y la nueva, algo que no quería que hiciera.
Gerard ONeill
12

Ser más preciso

svn switch --relocate [complete url of the old repo] [complete url of the new repo] 

Por ejemplo:

svn switch --relocate  http://svn.repo.com:9880/website/branches  http://svnrepo.com/web/branches 
BTR Naidu
fuente
3

Uso de los documentos de TortoiseSVN tortoisesvn

  1. Vaya a la carpeta raíz de la copia de trabajo
  2. Haga clic derecho, haga clic en el submenú TortoiseSVN, haga clic en Reubicar.
  3. Entrar en la nueva ruta
Yitzhak Weinberg
fuente
1

Muy simple :

Paso 1: Abra el símbolo del sistema / terminal y configure la ruta de trabajo

Paso 2: ejecuta esta líneasvn switch --relocate http://newurl

Rajesh Loganathan
fuente
0

Había cambiado mi servidor svn para forzar la redirección de todo, desde HTTP a HTTPS (y podría haber sido una redirección a cualquier otra URL), y noté que este svn relocatecomando estaba causando muchos problemas con los externos. Afortunadamente, descubrí que lo más fácil era simplemente hacer un svn updatey debido a la redirección del servidor svn, actualizó todas las URL almacenadas en la copia de trabajo local, incluidas las externas.

Gunther Schadow
fuente