2008-10-27 22 views
6

Soy nuevo en SVN y hago un uso intensivo de la propiedad Externals. Tengo un repositorio ubicado en mi PC y las propiedades externas tienen un 'localhost' codificado en el nombre, que ahora me está dando problemas. Por ejemplo:Problema externo de Subversion

/project1/trunk 
/shared/trunk 

project1/trunk depende de la carpeta compartida para svn:externals tiene una propiedad de svn: // localhost/shared/tronco. Esto funciona bien con TortoiseSVN y puedo pagar project1/trunk y recibir una copia de shared/trunk.

Ahora he movido el repositorio a otro servidor y los enlaces externos ya no funcionan por razones obvias (TortoiseSVN está intentando salir svn://localhost/shared/trunk que ya no existe).

Así que tengo que actualizar todos mis externos, pero no quiero codificar ningún nombre de máquina, así que ¿cómo puedo hacer que esto funcione? Tenga en cuenta que el repositorio puede moverse nuevamente en algún punto. La excavación en torno a los manuales de SVN me encontré con la sintaxis ^/, así que he intentado lo siguiente:

svn:externals shared ^/shared/trunk 

Esto fue aceptado pero cuando intento, y obtenga una copia de project1 en mi PC me sale el siguiente error:

Unrecognized format for the relative external URL 'shared'. 
Check the path and/or URL you've entered. 

a menos que codificar el nombre de máquina del repositorio en los externos no puedo hacer este trabajo - se parece como un arte negro por lo que cualquier consejo sería bienvenido.

Respuesta

9

La ^/sintaxis a la que se refiere es nueva en SVN 1.5, por lo que puede estar utilizando una versión anterior del cliente y/o servidor que no entiende esa sintaxis. Además, para soportar la nueva sintaxis externa en 1.5, cambiaron el orden de los parámetros en la definición externa. Creo que primero quieres la ruta, luego el nombre de la carpeta para que aparezca debajo. Los detalles están en el docs.

+2

Primero la ruta y luego el nombre de la carpeta, eso fue lo que hizo falta, ¡gracias! – Rob