220 votes

Erreur SVN - Pas une copie de travail

Récemment, notre serveur svn a été changé, et nous avons fait un svn switch.

Depuis la copie de travail avait une énorme quantité de ressources non versionnés, la copie de travail obtenu verrouillé et nous avons commencé à commutation dossier par dossier, pour tous les dossiers sous svn, qui fonctionne parfaitement bien.

Mais au plus haut niveau du référentiel, lorsque j'essaie de mettre à jour les fichiers, j'obtiens le svn: copie de Travail '.' verrouillé erreur et le nettoyage n'est pas aider non plus. Quand je fais le nettoyage, j'ai des erreurs comme celles - ci - svn: "content" n'est pas une copie de travail de répertoire

Frais de caisse n'est PAS une option. Existe-il d'autres moyens de nettoyage et de libérer les verrous et faire le commutateur complètement ?

EDIT: Le dernier paragraphe, JesperE réponse

Si vous obtenez un "pas une" copie de travail lorsque faire un appel récursif "svn cleanup" mon conjecture est que vous avez un répertoire ce qui devrait être une copie de travail (c'est à dire l' .svn répertoire à la racine dit de faire), mais il est absent de son propre .svn répertoire. Dans ce cas, vous pourrait essayer seulement de supprimer/déplacer annuaire et ensuite faire une mise à jour locale

semble être la solution au problème dans le référentiel. J'ai identifié ces dossiers et a fait une nouvelle vérification de ces dossiers seule et wow, les verrous sont relâchés dans la suite de la de nettoyage! Merci beaucoup JesperE !!

Mais, je ne peux toujours pas comprendre le svn switch erreur qui se lit maintenant quelque chose comme,

svn: Le dépôt "svn://repourl/reponame/foldername" a l'uuid 'm/reponame", mais les WC a 'b5b39681-0ff6-784b-ad26-2846b9ea8e7d'

Des idées ?

129voto

JesperE Points 34356

Si vous obtenez un "pas une" copie de travail quand on fait un appel récursif svn cleanup ma conjecture est que vous avez un répertoire qui doit être une copie de travail (c'est à dire l' .svn annuaire au plus haut niveau dit de faire), mais il est absent de sa propre .svn répertoire. Dans ce cas, vous pourriez essayer seulement de supprimer/déplacer ce répertoire et ensuite faire une mise à jour locale (c'est à dire rm -rf content; svn checkout content).

Si vous obtenez un not a working copy d'erreur, cela signifie (je suis sûr que vous le savez) que la Subversion ne peut pas trouver un bon .svn - répertoire dans le répertoire. Est-il un .svn - répertoire dans le répertoire contents? (C'est le genre de renseignements que vous devez fournir pour les gens à être en mesure de résoudre le problème. Rappelez-vous que nous n'avons pas accès à votre setup, de sorte que vous avez à expliquer, c'est ce genre de détail que l'on peut comprendre à partir de votre description de ce qui est mauvais.)

Souvent, lorsque vous ne pouvez pas accepter une réponse évidente (frais de départ), c'est une bonne idée d'expliquer pourquoi. Je ne peux pas penser à une raison pourquoi une nouvelle caisse ne sera jamais une option.

48voto

Ken Arnold Points 974

Je suis entré dans une situation similaire ( `` ) une manière différente, alors j’ai pensé que je poste mon histoire de bataille (simplifié) :

Oups ! fixer des permissions... alors :

Et même mouvement de la route et en cours d’exécution (qui a travaillé pour l’OP) ne fixe pas elle. Voici ce que j’ai fait :

Cela a fonctionné.

6voto

Je l’ai résolu par

  1. Copier une sauvegarde des dossiers impactés
  2. SVN revert les dossiers impactés
  3. Collez les fichiers de la sauvegarde

Dans mon cas le problème était dû à .svn-fichiers supprimés.

5voto

Hextler Points 51

Peut-être que vous venez de copier arborescence de dossier et d’essayer d’ajouter le plus bas.

dans ce cas, il faut commettre répertoire au niveau supérieur.

3voto

abatishchev Points 42425

Solution de contournement : Renommer répertoire qui n’est pas « brouillon » Checkout/mise à jour/restauration ce répertoire fois de passer des fichiers de répertoire à nouveaux Commit changes

Motif : Vous apporté quelques modifications à des fichiers sous le répertoire .svn, cela casse « brouillon »

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