Pourquoi est-ce que je continue à obtenir 'SVN: copie de travail XXXX verrouillé; essayer de faire le 'nettoyage'?

si vous avez déjà travaillé avec les outils SVN dans Eclipse (Subversion, subversive), alors vous êtes probablement familier avec la 'copie de travail 'XXX' verrouillée..." erreur.

j'ai trouvé un message très utile avec une solution à ce problème à: copie de travail XXX verrouillé et nettoyage échoué dans SVN

aussi grand que soit le contournement, il est une douleur de le faire encore et encore. Est-ce que quelqu'un sait pourquoi j'ai cette erreur et ce je pourrais faire pour l'en empêcher?

contexte: je crée un plugin Eclipse qui implique l'écoute des événements SVN, donc en testant ce plugin, je suis constamment en train d'ouvrir et de fermer l'espace de travail. Je fais habituellement 1 ou 2 engage chaque fois que j'ouvre l'espace de travail. De temps en temps, la propagation échouera et je reçois l'erreur "copie de travail verrouillée". J'aimerais que cette erreur ne se reproduise plus, donc tout conseil est apprécié.

Merci!

45
demandé sur Community 2011-02-01 20:35:03

11 réponses

  1. sélectionner le projet
  2. clic droit sur le projet sélectionné
  3. De L'Équipe -> Nettoyage

Problème Résolu.

Remarque: Les étapes ci-Dessus ne fonctionne que Eclipse(Indigo package)

81
répondu Peter Prabu 2013-07-01 06:00:16

généralement un fichier .lock est créé et décide de l'état de verrouillage/déverrouillage en vérifiant l'existince de ce fichier. Je pense que si vous supprimez ce fichier .lock seulement, alors le problème disparaîtra.

14
répondu fmucar 2011-02-01 17:53:38

J'ai eu beaucoup de problèmes avec SVN avant et une chose qui m'a certainement causé des problèmes est de modifier des fichiers en dehors de Eclipse ou de supprimer manuellement des dossiers (qui contient le .svn folders), qui m'a probablement causé le plus d'ennuis.

modifier Vous devez également faire attention à ne pas interrompre les opérations SVN, bien que parfois un bug puisse se produire et cela pourrait causer le fichier .lock à ne pas être supprimé, et donc votre erreur.

9
répondu Kenny Cason 2011-02-01 18:10:53

assurez-vous de nettoyer exactement ce que dit la console. Par exemple, si un sous-dossier (un paquet) est verrouillé:

   svn: E155004: Commit failed (details follow):
  svn: E155004: Working copy 'C:\Users\laura\workspace\tparser\src\de\test\order' locked
  svn: E155004: 'C:\Users\laura\workspace\tparser\src\de\test\order' is already locked.

nettoyage C:/Users/liparulol/workspace/tparser/src/de/mc/etn/parsers/order

ensuite, vous devez nettoyer le dossier spécifié et non l'ensemble du projet. Si vous êtes dans eclipse, cliquez-droit sur le paquet, pas sur le dossier du projet et exécuter le nettoyage.

4
répondu Laura Liparulo 2014-11-19 08:31:20

après plus d'exploration et de tests, il semble que ce problème était causé par le débogage du plugin et l'utilisation de points d'arrêt. SVN / Subclipse n'a apparemment pas aimé avoir des points de rupture à mi-chemin de leur exécution et, par conséquent, ces fichiers de verrouillage ont été créés. Dès que j'ai commencé à lancer le plugin, ce problème a disparu.

3
répondu jbranchaud 2011-02-28 18:40:20

cela se produira quand quelque chose a mal tourné dans un de vos dossiers dans votre projet. Vous avez besoin de localiser le dossier verrouillé et exécuter svn cleanup sous le dossier spécifique. Vous pouvez résoudre cela comme suit:

  1. run svn commit commande pour savoir quel dossier a mal tourné.
  2. changez le répertoire de ce dossier et lancez svn cleanup . Alors c'est fait.
3
répondu Simon 2016-04-07 09:55:42

j'ai eu le même problème en utilisant le paquet com.xxx.service.model .

pour le corriger, j'ai d'abord fait une sauvegarde des changements de code dans le paquet modèle. Ensuite supprimé modèle de colis et synchronisé avec le référentiel. Il affichera le dossier/paquet entier entrant. Puis mis à jour mon code.

enfin, collez L'ancien code commit dans le dépôt SVN. Il fonctionne très bien.

2
répondu Kamalakar Dandu 2011-12-11 13:15:05

ce qui suit devrait déverrouiller une copie de travail verrouillée (Testée sur svn client version 1.6.11 et elipse version: Mars.2 libération (4.5.2))

étape 1: (allez à la copie de travail de répertoire) $cd working_copy_dir

étape 2: (se connecter au svn de base de données sqlite) $sqlite3 .svn / wc.db

étape 3: (supprimer tous les enregistrements du tableau WC_LOCK) sqlite> delete from WC_LOCK;

étape 4: (déconnecter de la base de données sqlite 3) sqlite>ctrl + d

étape 5: (de eclipse) cliquez avec le bouton droit de la souris sur votre copie de travail, puis cliquez sur Team - > Refresh / Cleanup

2
répondu SayeedSohail 2017-03-21 19:44:19

cela m'est arrivé quand j'ai copié un répertoire d'un autre projet subversion et essayé de le propager. La soluction a été de supprimer les .directeur svn dans le répertoire que je voulais engager.

1
répondu Tony Striedinger 2011-12-02 16:59:52

ce type de problème peut se produire lorsque vous supprimez/déplacez des fichiers - essentiellement en apportant des changements à la structure de votre répertoire. Subversion ne vérifie que les modifications apportées aux fichiers déjà ajoutés à subversion, et non les modifications apportées à la structure du répertoire. Au lieu d'utiliser les commandes copy etc de votre système D'exploitation, utilisez plutôt svn copy etc. S'il vous plaît voir http://svnbook.red-bean.com/en/1.7/svn.tour.cycle.html

en outre, lors de la validation des modifications, svn stocke d'abord un" résumé " des modifications dans une liste todo. Après avoir effectué les opérations svn dans cette liste todo, il bloque le fichier pour empêcher d'autres changements pendant que ces actions svn sont effectuées. Si l'action svn est interrompue à mi-chemin, par exemple par un crash, le fichier restera verrouillé jusqu'à ce que svn puisse terminer les actions de la liste todo. Cela peut être "réactivé" en utilisant la commande SVN cleanup . S'il vous plaît voir http://svnbook.red-bean.com/en/1.7/svn.tour.cleanup.html

0
répondu Chris 2014-01-13 10:15:29

Solution: Step1: doit supprimer le fichier" lock "qui se trouve sous".svn" fichier caché. Step2: dans le cas où il n'y a pas de fichier" lock "alors vous verriez "we".db" vous devez ouvrir cette base de données et besoin de supprimer le contenu seul à partir des tableaux suivants – serrure "151910920 – - wc_lock Étape 3: Nettoyez votre projet Etape 4: Essayer de s'engager maintenant. Etape N ° 5: Fait.

0
répondu R3ing 2017-01-04 14:41:32