web-dev-qa-db-fra.com

Essayez de svn checkout, mais obtenez: svn: '.' est déjà une copie de travail pour une URL différente

J'essaie de svn checkout dans mon dossier public_html, mais j'obtiens cette erreur: Svn: '.' est déjà une copie de travail pour une URL différente

Mon frère a déjà mis en place un site de plaques de chaudière pour moi, mais je l’ai changé et j’ai mis ces changements dans un repo propre. Comment faire en sorte que ce dossier ne soit pas une copie de travail du rapport qu'il a créé à l'origine?

Puis-je supprimer le dossier public_html et en créer un nouveau? Cela ne me pose aucun problème de repartir à zéro, car je vais simplement extraire un site Drupal déjà installé sur ce site.

J'ai vu dans une autre question qu'une solution pourrait être simplement de supprimer le répertoire .svn. J'ai essayé ceci, mais il a indiqué que la permission a été refusée pour plusieurs sous-répertoires dans .svn.

Merci d'avance pour toute aide, espérons que cette question n'est pas trop bête ...

18
user114518

Cette séquence de commandes devrait le faire si vous êtes pressé.

Il doit y avoir un moyen de mettre à jour l'URL de référence de la copie de travail, mais je ne le connais pas immédiatement.

$ svn diff > ../changes.patch
$ rm -rf * ..?*
$ svn checkout url
$ patch -p < ../changes.patch
6
Joshua

Vous pouvez essayer "svn switch". Dans l'exemple à l'adresse http: // svnbook.red-bean.com/fr/1.0/ch04s05.html, c'est aussi simple que:

 $ svn switch http:// svn.example.com/repos/calc/branches/my-calc-branch

Mais comme vous avez des problèmes d’autorisations de sous-répertoires, votre plan pour recréer public_html semble être la meilleure solution; méfiez-vous des fautes de frappe avec 'rm'. Essayez 'mv' pour déplacer simplement l'ancien répertoire, ce qui ne dépend pas des autorisations de sous-répertoires.

Vous pouvez utiliser:

 $ mv public_html old_public_html
 $ mkdir public_html
 $ chmod 755 public_html
 $ cd public_html
 $ svn checkout url
9
krubo

Si vous n'avez pas besoin d'une connexion avec le dépôt de votre frère, supprimez simplement tous ses répertoires .svn.

Le problème d'autorisation n'est pas lié à SVN, définitivement.

1
esycat

Je pense que la meilleure option dans votre cas est de supprimer le dossier et de le créer à nouveau en effectuant le paiement depuis SVN.

0
PabloCocko

J'ai rencontré cette erreur ("... est déjà une copie de travail pour une URL différente") tout à l'heure dans Eclipse 3.5. J'essayais d'extraire une branche particulière d'un projet à partir de la perspective "Exploration du référentiel SVN Eclipse" (l'adaptateur client Subclipse Subversion de tigris.org). J'avais exploré [project] | branches | [branch] qui m'intéressait, puis j'ai cliqué avec le bouton droit sur la branche qui m'intéressait et sélectionné Checkout; cela a conduit à l'erreur.

Pour moi, le correctif consistait à accéder à la perspective "Java EE", à cliquer avec le bouton droit de la souris sur mon projet et à sélectionner Replace With | Branch/Tag... dans le menu contextuel. Ce faisant, j'ai pu télécharger avec succès la branche qui m'intéressait.

0
Jon Schneider

J'ai constaté que, si j'allais simplement dans la perspective J2EE, cliquez avec le bouton droit de la souris sur le projet et sélectionnez Supprimer avant d'essayer d'extraire une nouvelle branche, le problème est résolu.

0
Heather

J'ai vu dans une autre question qu'une solution de Pourrait être simplement de supprimer le répertoire .Svn. J'ai essayé cela, mais A indiqué que l'autorisation était refusée pour plusieurs Sous-répertoires dans .svn.

Même lorsque vous ne pouvez pas supprimer de répertoires, vous pouvez les déplacer:

$ mv .svn /tmp/dustbin

modifier:

Vous devriez avoir au moins un accès en écriture à votre répertoire personnel:

$ mv ~/public_html /tmp/dustbin
$ mkdir ~/public_html
0
lispmachine