erreur de commutation svn - n'est pas le même référentiel
-
06-09-2019 - |
Question
J'ai récemment déplacé le serveur SVN et maintenant je suis Tring de relocaliser les copies de travail de mon ordinateur vers le nouveau serveur. Mais je reçois le plus étrange erreur. je fais:
svn switch http://99.99.99.new/svn/company/project/trunk/web
mais je reçois
svn: 'http://99.99.99.old/svn/company/project/trunk/web'
is not the same repository as
'http://99.99.99.new/svn/company/project'
le mouvement a été fait avec décharge et l'importation ... et la racine de prise en pension est http: / /99.99.99.new/svn/company/project
Avez-vous les gars avez des idées de ce qui pourrait se tromper? merci beaucoup
La solution
Essayez d'utiliser
svn switch --relocate http://99.99.99.old/svn/company/project/trunk/web http://99.99.99.new/svn/company/project/trunk/web
Comme l'a noté Sporino dans les commentaires, depuis Subversion 1.7, il y a une commande séparée relocate
:
svn relocate http://99.99.99.old/svn/company/project/trunk/web http://99.99.99.new/svn/company/project/trunk/web
Autres conseils
En outre, dans TortoiseSVN il y a l'option "déménager", que vous devriez utiliser dans des situations comme celles-ci (au lieu de l'option "Switch").
Ma meilleure façon de faire une relocalisation SVN est le suivant:
svn switch --relocate $(svn info | grep ^URL | cut -f 2 --delim=' ') \
new_url_or_repository
De cette façon, en utilisant le droit ancien URL de la commande svn info
, vous êtes sûr de ne pas entrer dans une mauvaise, qui est l'un des erros communs.
Si tout est correct, vous serez invité les détails auth pour le nouvel emplacement, si elles sont différentes.
Après avoir émis la commande, assurez-vous de vérifier que la modification a été appliquée à la recherche du paramètre d'URL, l'émission
svn info
Après avoir déménagé, mettez à jour votre copie de travail, pour vérifier que tout est ok:
svn update
Mon 2c ..
Le paramètre de ligne de commande de relocate
à la commande switch
.
Parfois, un administrateur peut changer le « emplacement de base » de votre dépôt - en d'autres termes, le contenu du référentiel ne change pas, mais l'URL principale utilisée pour atteindre la racine du référentiel ne. Par exemple, le nom d'hôte peut changer ou le schéma d'URL, ou peut-être juste le chemin qui mène au dépôt. Plutôt que extrayez une nouvelle copie de travail, vous pouvez avoir la commande svn switch « Transforme » les débuts de toutes les URL de votre copie de travail. Utilisez la commande --relocate pour faire la substitution. Aucun contenu du fichier sont modifiés, ni le dépôt est contacté. Il est similaire à l'exécution d'un script perl sur votre copie de travail svn / répertoires qui court s / oldroot / NewRoot /.
Vous devez utiliser l'option --relocate:
svn switch --relocate http://99.99.99.new/svn/company/project/trunk/web
voir svnbook pour plus de détails.