J'avais besoin de renommer une branche SVN, alors j'ai fait:
$ svn move https: // serveur/repos/myrepo/branches/oldbranch\ https: // serveur/repos/myrepo/branches/newbranch
Jusqu'à présent, tout va bien - la branche a été renommée.
Le problème est que nous avons des bacs à sable existants extraits de cette branche et lorsque j'essaie de mettre à jour, j'obtiens cette erreur:
$ svn update svn: Le chemin cible '/ branches/oldbranch' n'existe pas
Une erreur assez explicite. Après une recherche rapide, je pensais avoir trouvé la solution: Relocalisation de la copie de travail SVN après le changement de nom de la branche
Le problème est que lorsque j'essaie d'émettre cette commande, j'obtiens une autre erreur:
$ svn switch --relocate https: // server/repos/myrepo/branches/oldbranch\ https: // server/repos/myrepo/branches/newbranch svn: Relocate ne peut que modifier le partie de référentiel d'une URL
Pour autant que je sache, j'utilise le --relocate
commande de la même manière que Sander Rijken. Des idées pourquoi j'obtiens cette erreur?
Fais juste
svn switch https://server/repos/myrepo/branches/newbranch
depuis votre copie de travail.
Pour changer le chemin relatif, vous devez utiliser pursvn switch
(et de toute façon switch --relocate
est obsolète), comme écrit en svn help switch
pour le 1 er formulaire
switch URL[@PEGREV] [PATH]
Mettez à jour la copie de travail pour refléter une nouvelle URL dans le référentiel.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.
C'est-à-dire à la racine de WC pour oldbranch
, qui est maintenant newbranch
, vous devez utiliser
svn switch ^/branches/newbranch
Si vous aviez simplement voulu renommer une branche SVN dans Eclipse, le plus simple aurait été d'aller dans le SVN Repository Exploring Perspective, puis de faire un clic droit sur votre branche -> Refactor-> Rename