2009-06-25 11 views
25

Je me rends compte qu'il existe des questions similaires sur ce sujet, mais je ne trouve toujours pas la réponse pour mon cas spécifique. J'ai un projet que j'ai hérité du repo d'une autre équipe. Nous avons fait un "svn switch --relocate" pour rediriger nos copies extraites vers notre serveur, au lieu des leurs. Mais, ils ont toujours un svn: externals pour un sous-répertoire et il pointe toujours vers l'un de leurs autres dépôts.Comment supprimer correctement svn: externals et le remplacer par une copie locale (non externe) du même répertoire?

Comment puis-je supprimer correctement l'externe et le remplacer par une version locale de ce répertoire? J'ai essayé juste de supprimer le répertoire externe et de le remplacer par une copie locale et de le vérifier, mais quand 'svn up' à la racine du projet, il se plaint que ce répertoire est "verrouillé". Qu'est-ce que je fais mal?

Oh, et je n'ai pas beaucoup d'outils graphiques pour cela installé. Je le fais juste sur la ligne de commande. Merci!

Répondre

35

Dans la racine de votre copie de travail:

svn propedit svn:externals .

Vous devriez voir un fichier dans votre éditeur de choix qui a des lignes comme celle-ci:

path/to/extenal http://url/of/repo 

Si vous supprimez cette ligne, puis exécutez une validation/mise à jour, il doit supprimer la définition externe de ce chemin et déverrouiller le chemin.

Vous pouvez besoin d'exécuter un svn cleanup s'il se plaint.

+0

Je devais juste définir ma variable d'environnement Editor pour que cela fonctionne. Consultez ce post pour plus d'informations sur comment faire fonctionner cela avec notepad ++ – rob

4

je suis tombé sur ce problème afin de le faire par l'éclipse, vous pouvez effectuer les opérations suivantes Allez dans le dossier racine où votre externe est présent et un clic droit sur l'équipe> Voir propriétés>

vous devriez voir un nom paire de valeurs avec le nom svn: external et value comme référentiel externe. Faites un clic droit et vous pouvez voir l'option de suppression qui va supprimer le lien.

vous devrez peut-être faire une mise à jour svn: ou nettoyer après cela.

Questions connexes