44 votes

Comment renommer une branche SVN et mettre à jour les références dans un bac à sable existant ?

J'avais besoin de renommer une branche SVN, alors je l'ai fait :

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

Jusqu'ici, 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: Target path '/branches/oldbranch' does not exist

Une erreur assez explicite. Après une recherche rapide, je pensais avoir trouvé la solution : Déplacement de la copie de travail SVN suite à un renommage de branche

Le problème est que, lorsque j'essaie de lancer cette commande, j'obtiens une autre erreur :

$ 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

D'après ce que je vois, j'utilise l'option --relocate commande de la même manière que Sander Rijken. Avez-vous une idée de la raison pour laquelle j'obtiens cette erreur ?

53voto

khmarbaise Points 28405

Fais-le.

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

à partir de votre copie de travail.

4voto

Lazy Badger Points 30623

Pour modifier le chemin relatif, vous doit à utiliser pur svn switch (et de toute façon switch --relocate est déprécié), comme écrit dans svn help switch pour la forme 1-st

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 dans la Racine de WC pour oldbranch qui est maintenant newbranch vous devez utiliser

svn switch ^/branches/newbranch

3voto

suanik Points 81

Si vous aviez simplement voulu renommer une branche SVN dans Eclipse, le plus simple aurait été d'aller dans le fichier Perspective d'exploration du référentiel SVN et ensuite un clic droit sur votre branche -> Refactor-> Renommer

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X