2011-02-24 17 views
40

que tenía que cambiar el nombre de una rama SVN, por lo que lo hice:¿Cómo cambiar el nombre de una rama SVN y actualizar las referencias en un entorno limitado existente?

$ svn move https://server/repos/myrepo/branches/oldbranch \ 
    https://server/repos/myrepo/branches/newbranch

Hasta ahora, todo bien - la rama ha sido renombrado.

El problema es que hemos extraído del areneros esta rama existente y cuando trato de actualizar me sale este error:

$ svn update 
svn: Target path '/branches/oldbranch' does not exist

un error explica por sí misma. Después de una búsqueda rápida pensé que había encontrado la solución: Relocating SVN working copy following branch rename

El problema es que cuando intento para emitir esa orden consigo otro error:

$ svn switch --relocate https://server/repos/myrepo/branches/oldbranch \ 
    https://server/repos/myrepo/branches/newbranch 
svn: Relocate can only change the repository part of an URL

Por lo que yo puedo ver, yo soy utilizando el comando --relocate de la misma manera que Sander Rijken. ¿Alguna idea de por qué me sale este error?

+0

I don' Creo que la respuesta de Sander Rijken es correcta. He agregado un comentario sobre su respuesta. – Otherside

Respuesta

49

Eso sí,

svn switch https://server/repos/myrepo/branches/newbranch 

desde dentro de su copia de trabajo.

+0

Gracias, esto funciona, pero elimina todos los archivos no versionados de la zona de pruebas la próxima vez que hago una 'svn update' ... algo que esperaba evitar. –

+8

No puedo creer que los archivos no versionados se eliminen en su copia de trabajo ... – khmarbaise

+0

Funcionó perfectamente para mí – Alastair

2

Para cambiar la ruta relativa que debe utilizar purasvn switch (y de todos modos switch --relocate es obsoleto), como está escrito en svn help switch para la forma 1-st

switch URL[@PEGREV] [PATH] Update the working copy to mirror a new URL within the repository.

This behavior is similar to 'svn update', and is the way to 
move a working copy to a branch or tag within the same repository. 

Es decir, en la raíz de WC para oldbranch , que ahora es newbranch, usted tiene que utilizar

svn switch ^/branches/newbranch

1

Si simplemente hubiera querido cambiar el nombre de una rama SVN en Eclipse, el más fácil habría sido para entrar en el SVN Repository Exploring perspectiva y, a continuación, haga clic derecho en su sucursal -> Refactor-> Cambiar nombre

+0

Probé pero no se actualiza en mi eclipse –

Cuestiones relacionadas