Le dossier est verrouillé et je ne peux pas le déverrouiller


108

Lorsque j'essaie de mettre à jour ou de valider le code d'un projet, cela m'indique que le dossier est verrouillé. Lorsque j'essaye de "déverrouiller", cela indique qu'il n'y a rien à déverrouiller dans cet espace de travail.

Qu'est-ce que ça veut dire? Pourquoi je ne peux pas mettre à jour, valider ou même nettoyer le projet.


Quelle version de svn utilisez-vous?
Chriseyre2000

Assembla for a repository, Tourtise SVN 1.7
Iyad Al aqel

Alors, avez-vous un dossier .svn dans chaque répertoire ou juste à la racine?
Chriseyre2000

Avez-vous essayé de récupérer à nouveau le projet dans une copie de travail distincte?
Bernard

Oui, cela fonctionne si je le vérifie dans un dossier différent, mais la base de données ne s'ouvre pas
Iyad Al aqel

Réponses:


161

Faites un clic droit sur votre dossier de répertoire de travail Subversion et sélectionnez TortoiseSVN-> Nettoyer dans le menu contextuel. Cela reviendra dans votre répertoire de travail et nettoiera toutes les actions incomplètes, supprimera les verrous locaux (ce qui est différent d'utiliser le verrouillage Subversion d'un fichier dans le référentiel qui permet à tout le monde de connaître le verrou).

Si cela ne fonctionne pas, voyez si vous pouvez trouver les noms des fichiers qui ont été modifiés, mais pas encore validés, enregistrez-les et refaites l'extraction.


28
J'ai eu ce problème et le nettoyage n'a pas fonctionné (échec du nettoyage à cause des verrous locaux), mais monter dans le dossier parent (qui était également sous le contrôle de version) et faire le nettoyage a résolu le problème.
Malvineous

2
Vous pouvez casser les verrous locaux en cochant l' Break locksoption.
aagjalpankaj

1
Le commentaire de @Malvineous est précieux. Devrait poster ceci comme réponse.
Lazy Ninja

16

Si le fichier a été verrouillé par vous-même (même compte svn), vous pouvez suivre ces étapes:

Faites un clic droit sur le fichier ou le dossier verrouillé et sélectionnez TortoiseSVN-> Get lock ... , et cochez " [] Steal the locks " dans le coin inférieur gauche de la boîte de dialogue, cliquez sur "OK". Si cela réussit, ce n'est pas grave. Lorsque vous cliquez à nouveau avec le bouton droit sur le fichier, vous pouvez voir TortoiseSVN-> Libérer le verrouillage ... , cliquez pour déverrouiller.


12

En utilisant la ligne de commande svn pour déverrouiller les dossiers locaux, utilisez simplement svn cleanup.

Avant:

# svn commit -m "fixing #1234"

commettre

# svn st

avant

# svn cleanup

Après:

# svn st

après

# svn commit -m "fixing #1234"

après2


10

À toute personne ayant encore ce problème ( Erreur: copie de travail "{DIR}" verrouillée. ), J'ai votre solution:

J'ai trouvé que lorsque l'une des fenêtres TortoiseSVN plante, elle laisse un TSVNCache.exe qui a encore quelques poignées sur votre copie de travail et qui cause les problèmes de verrouillage que vous voyez (et empêche également Clean Up de faire son travail).

Donc, pour résoudre ceci:

Soit

1a) Utilisez Process Explorer ou similaire pour supprimer les descripteurs appartenant à TSVNCache.exe

1b) .. Ou encore plus simple, utilisez simplement le Gestionnaire des tâches pour tuer TSVNCache.exe

ensuite

2) Faites un clic droit -> TortoiseSVN -> Nettoyer. Seul "Nettoyer l'état de la copie de travail" doit être vérifié.

À partir de là, bonne mise à jour / engagement. Vous pouvez reproduire le comportement de verrouillage en effectuant SVN Update, puis en tuant rapidement son processus TortoiseProc.exe avant la fin de la mise à jour.


8

C'était la première fois que j'avais ce problème. J'ai même essayé de redémarrer le PC, sans effet. Cela résout mon problème:

Solution pour moi:

  1. Cliquez avec le bouton droit sur le répertoire de travail du projet.
  2. Naviguez sur TortoiseSVN .
  3. Naviguez pour nettoyer .
  4. Laissez toutes les options par défaut et cochez Break Locks
  5. Cliquez sur OK

Cela fonctionne pour moi. J'ai pu commettre des changements.


1
Le fait de cocher la case Break Locks résout mon problème.
Banketeshvar Narayan

C'est la réponse parfaite que je recherchais. Merci une tonne
vamshi krishna kurella

Cela devrait être la bonne réponse. Pratique, simple et direct!
Oana-Elena Danescu

3

Pour déverrouiller un fichier dans votre copie de travail à partir de l'invite de commande qui est actuellement verrouillée par un autre utilisateur, utilisez l' --forceoption.

$ svn unlock --force tree.jpg


Et si je souhaite déverrouiller un répertoire?
IgorGanapolsky

@IgorGanapolsky Donnez le nom du répertoire au lieu du nom du fichier dans la commande ci-dessus
manav mn

@IgorGanapolsky quel message d'erreur obtenez-vous. Laissez-moi vérifier
manav mn

Le nœud n'est pas un fichier !
IgorGanapolsky

3

J'ai eu ce problème et j'ai suivi les étapes ci-dessous pour le résoudre:

  1. Aller au dossier parent au lieu du dossier enfant
  2. Sélectionnez le nettoyage SVN
  3. Cliquez sur OK.

Faites cette étape sur le dossier parent au lieu du dossier enfant!

Cela a fonctionné pour moi!


1

Je déplaçais un dossier d'un niveau vers le haut et dans un autre dossier. Mon erreur a été de faire le déplacement depuis le dossier parent.

Mauvais exemple:

pwd -> C:\Repo\ParentDir\
svn move ./DirtoCopy ../AnotherDir

SVN doit mettre à jour le répertoire parent avec les informations des dossiers supprimés.
Vous devez le faire à partir de la racine commune des dossiers source et de destination ou utiliser des chemins complets.

Bon exemple:

svn move C:\Repo\ParentDir\DirtoCopy C:\Repo\NewLocation

1

J'ai eu ce problème où je ne pouvais pas déverrouiller un fichier du côté client. J'ai décidé d'aller du côté des serveurs, ce qui était beaucoup plus simple.

Sur le serveur SVN:

Localiser les serrures

 svnadmin lslocks /root/of/repo
 (in my case it was var/www/svn/[name of Company])

 You can add a specific path to this by svnadmin lslocks /root/of/repo "path/to/file"

Retirer le verrou

 svnadmin rmlocks /root/of/repo “path/to/file” 

C'est tout!


0

Solution :

  1. Cliquez avec le bouton droit sur le répertoire de travail du projet.
  2. Naviguez sur TortoiseSVN.
  3. Naviguez pour nettoyer.
  4. Sélectionnez Nettoyer l'état de la copie de travail (cochez la case)
  5. Cliquez sur OK
  6. Répétez les étapes 1 et 2 puis naviguez pour libérer le verrouillage.
  7. Cliquez sur OK. Le verrou de votre projet est ouvert.

0

En plus de la réponse de David M., pendant le nettoyage -> cochez l'option «casser les verrous». Cela garantira la libération des verrous. Ensuite, faites la mise à jour svn. Cela a fonctionné pour moi.


0

Pour déverrouiller un document bloqué: 1. Clic droit -> Verrouiller 2. Cochez la case "Voler les verrous" 2. Relâchez le verrou


0

Je recherche beaucoup sur ce problème mais aucune solution ne résout mon problème jusqu'à ce que j'essaye ceci:

Mon dossier de dépôt est partagé avec une machine virtuelle Windows xp, j'exécute donc le nettoyage à partir de la machine virtuelle, puis j'exécute SVN UPDATE à partir de l'hôte.

Cela a fonctionné pour moi.

Salutations du Costa Rica.


0

J'ai pu résoudre ce problème sur ma machine en renommant les dossiers pour réduire le chemin du dossier.


-1

Cela s'est produit après que Tortoise ait été corrompue et plantée en essayant de mettre à jour des dossiers. J'ai fini par réinstaller Tortoise, mais le verrou fantôme était toujours présent. À partir de là, j'ai dû supprimer le dossier et effectuer une nouvelle vérification. Évidemment, j'ai eu beaucoup de chance de ne pas avoir de nouveaux changements à valider à l'époque. Quoi qu'il en soit, ce n'est pas une bonne nouvelle, et si quelqu'un a une meilleure solution, j'aimerais l'entendre moi-même. Même en utilisant "Break Lock" c'est-à-dire déverrouiller avec l'option de force n'a rien changé.


-1

Nettoyer, cocher toutes les cases => Ce travail pour moi


Identique à Đức Thắng Nguyễn. Faites un nettoyage «robuste».

-1

J'ai rencontré ce problème après ces opérations:

  1. verrouiller le dossier
  2. modifier des fichiers
  3. supprimer des fichiers et mettre à jour des dossiers -> nouveaux fichiers téléchargés
  4. essayez de valider ou de libérer le verrou

J'ai finalement résolu le problème en forçant à nouveau le verrou: TortoiseSVN -> Get Lock -> cochez "steal lock" puis validez ou relâchez le verrou.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.