SVN - Changer la copie de travail pour qu'elle pointe vers le nouveau chemin svn


87

J'ai un référentiel SVN qui a été déplacé vers une nouvelle adresse / chemin. Cependant, j'ai une copie de travail avec un code source non validé qui pointe toujours vers l'ancien chemin du référentiel (maintenant invalide). Comment modifier une copie de travail pour qu'elle pointe vers un nouveau référentiel?

Réponses:



58

Utilisez la svn switchcommande avec l' --relocateoption de ligne de commande.


1
Merci. Voici ce que j'ai utilisé: svn switch --relocate file: /// Users / user / old_repository / project / trunk file: /// Users / user / new_repository / project / trunk
quano

Ne corrige pas les URL dans svn: externals. Une idée comment faire ça?
Axel Bregnsbo

26

Utilisation de TortoiseSVN

  1. Faites un clic droit sur la copie de travail et sélectionnez 'SVN Switch ...'
  2. Sur le formulaire `` Passer à la branche '' Sélectionnez un nouveau chemin SVN

Utilisation de la commande

  1. Ouvrir la console
  2. Accédez à la copie de travail cd [working copy path]
  3. Écrivez la commande svn relocate [new url]

Ceci n'est applicable que si vous utilisez TortoiseSVN, que l'affiche n'a pas indiqué qu'il ou elle utilise.
zck

Salut @zck s'il vous plaît noter que j'ai écrit 2 solution en 1 réponse d'abord TortoiseSVN et la seconde est Command cette commande est obsolète pour subversion en général, vous pouvez consulter cette page svn relocate / svn Subcommands
Ahmed Abdallah

Eh bien, votre réponse a été modifiée après que j'ai commenté pour inclure une façon de le faire en ligne de commande. Cette réponse en ligne de commande a déjà été publiée en juin, il n'est donc pas nécessaire de la répéter.
zck

Non, je poste la réponse dans ses mots actuels ma modification juste pour améliorer le formatage; et je pense que la commande que j'ai écrite est plus claire que celle qui a été écrite en juin
Ahmed Abdallah

L'interface graphique de TortoiseSVN nécessite un clic sur «déplacer», et non de basculer. Ce qui est logique étant donné la ligne de commande ... Je ne sais pas ce que ferait le commutateur - il semblait essayer d'accéder à l'ancienne URL et à la nouvelle URL, ce que je ne voulais pas qu'il fasse.
Gerard ONeill

12

Être plus précis

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

Par exemple:

svn switch --relocate  http://svn.repo.com:9880/website/branches  http://svnrepo.com/web/branches 

3

Utilisation de TortoiseSVN Tortoisesvn Docs

  1. Accédez au dossier racine de la copie de travail
  2. Cliquez avec le bouton droit, cliquez sur sous-menu TortoiseSVN, cliquez sur Déplacer.
  3. Entrez le nouveau chemin

1

Très simple :

Étape 1: Ouvrez l'invite de commande / le terminal et définissez le chemin de travail

Étape 2: exécutez cette lignesvn switch --relocate http://newurl


0

J'avais changé mon serveur svn pour forcer tout rediriger de HTTP à HTTPS (et cela aurait pu être une redirection vers n'importe quelle autre URL), et j'ai remarqué que cette svn relocatecommande causait beaucoup de problèmes avec les externes. Heureusement, j'ai trouvé que la chose la plus simple était de simplement faire un svn updateet en raison de la redirection du serveur svn, il a mis à jour toutes les URL stockées dans la copie de travail locale, y compris les externes.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.