591 votes

De la copie de travail XXX verrouillé de nettoyage et de l'échec dans le SVN

J'ai cette erreur lorsque je fais une svn update:

De la copie de travail XXXXXXXX verrouillé, Veuillez exécuter "Nettoyage" de la commande

Quand je lance le nettoyage, j'obtiens

Le nettoyage n'a pas pu traiter la chemins d'accès suivants: XXXXXXXX

Comment puis-je sortir de cette boucle?

522voto

Chuck Points 6314

Une approche serait de:

  1. Copie édité éléments vers un autre emplacement.
  2. Supprimer le dossier contenant le problème de chemin d'accès.
  3. Mise à jour du dossier contenant par le biais de la Subversion.
  4. Copiez vos fichiers.
  5. S'engager

Une autre option serait de supprimer le dossier de niveau supérieur et vérifier à nouveau. J'espère que ça ne vient pas de cela.

482voto

BradS Points 1887

Pour moi, le truc était de lancer svn cleanup' en haut de ma copie de travail, pas dans le dossier où j'avais travaillé tout le temps avant la survenue du problème.

210voto

Intu Points 1529

Regardez dans votre .svn le dossier, il y aura un fichier appelé lock. Supprimer ce fichier et vous pourrez la mettre à jour. Il peut y avoir plusieurs fichiers de verrouillage dans l' .svn répertoire de chaque sous-répertoire. Ils auront besoin de supprimer également. Ceci pourrait être fait dans un lot très simplement en ligne de commande par exemple

find . -name 'lock' -exec rm -v {} \;

Notez que vous êtes en modifiant manuellement les fichiers dans l' .svn le dossier. Ils ont été mis là pour une raison. Cette raison peut-être une erreur, mais sinon, vous pourriez endommager votre copie locale.

SOURCE : http://www.svnforum.org/2017/viewtopic.php?p=6068

109voto

Gad D Lord Points 2422

Dans mon cas, je l'ai résolu en supprimant manuellement un enregistrement dans le SQLite ".svn\wc" fichier de verrouillage du dossier dans le WC_LOCK table.

J'ai ouvert le "WC" fichier SQLite editor et exécuté

delete from WC_LOCK

enter image description here

48voto

Matt Points 15107

Un collègue de travail constamment voit ce message, et pour lui, c'est parce qu'il a supprimé un sous-répertoire de version SVN de contrôle sans le supprimer de SVN, puis créé un nouveau répertoire à sa place pas sous contrôle de version, avec le même nom.

Si c'est votre problème...:

Il y a différentes façons de le fixer, en fonction de comment/pourquoi le répertoire a été remplacé.

De toute façon, vous aurez probablement besoin de:

A) Renommer le répertoire existant à un nom temporaire

B) Faire un SVN revert pour récupérer le répertoire supprimé du système de fichiers, mais pas de SVN

À partir de là, vous

A) Copier les fichiers dans le répertoire qui a été supprimé

B) Si vous avez eu un changement significatif de contenu dans le répertoire, de faire un SVN delete sur l'original, s'engager, et de renommer votre nouveau répertoire de retour pour le nom de votre choix, suivi par un SVN add pour obtenir que l'on sous contrôle de version.

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