Lorsque j'essaie de mettre à jour ou de valider le code d'un projet, cela me dit que le dossier est verrouillé. Lorsque j'essaie de "libérer le verrou", cela signifie 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.
Cliquez avec le bouton droit de la souris sur votre dossier de travail Subversion et sélectionnez TortoiseSVN-> Nettoyer dans le menu contextuel. Ceci récitera son chemin dans votre répertoire de travail et supprimera toutes les actions incomplètes, supprimez les verrous local (ce qui est différent de l'utilisation du verrouillage Subversion d'un fichier dans le référentiel qui permet à tout le monde de connaître le verrouillage).
Si cela ne fonctionne pas, voyez si vous pouvez trouver les noms des fichiers qui ont été modifiés, mais pas encore validés, sauvegardez-les et refaites la commande.
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é, puis sélectionnez ( TortoiseSVN-> Obtenir le verrou ... , puis cochez la case "- [] Voler les verrous "dans le coin inférieur gauche de la boîte de dialogue, cliquez sur" OK ". Si cela se termine avec succès, c'est bon. Lorsque vous cliquez à nouveau avec le bouton droit sur le fichier, vous pouvez voir TortoiseSVN-> Libérer le verrouillage ... , cliquez pour le déverrouiller.
En utilisant la ligne de commande svn pour déverrouiller les dossiers locaux, utilisez simplement svn cleanup
.
Avant:
# svn commit -m "fixing #1234"
# svn st
# svn cleanup
Après:
# svn st
# svn commit -m "fixing #1234"
Pour tous ceux qui ont encore ce problème ( Erreur: La copie de travail '{DIR}' est verrouillée. ), j'ai votre solution:
J'ai constaté que lorsque l'une des fenêtres de TortoiseSVN se bloquait, il laissait un fichier TSVNCache.exe qui contenait encore quelques descripteurs pour votre copie de travail et qui causait les problèmes de verrouillage que vous rencontriez (et empêchait é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 facile, il suffit d'utiliser le Gestionnaire des tâches pour tuer TSVNCache.exe
alors
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 une mise à jour SVN puis en supprimant rapidement son processus TortoiseProc.exe avant la fin de la mise à jour.
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:
Cela fonctionne pour moi. J'ai pu valider des modifications.
Pour déverrouiller un fichier dans votre copie de travail à partir de l'invite de commande actuellement verrouillée par un autre utilisateur, utilisez l'option --force
.
$ svn unlock --force tree.jpg
J'ai eu ce problème et j'ai fait ci-dessous les étapes pour le résoudre:
Faites cette étape sur le dossier parent au lieu du dossier enfant!
Cela a fonctionné pour moi!
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é du serveur, 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"
Enlever le verrou
svnadmin rmlocks /root/of/repo “path/to/file”
C'est ça!
Je déplaçais un dossier d'un niveau à un autre. Mon erreur a été de faire le déménagement 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 de dossiers supprimés.
Vous devez le faire à partir de la racine commune des dossiers source et cible ou utiliser des chemins d'accès complets.
Bon exemple:
svn move C:\Repo\ParentDir\DirtoCopy C:\Repo\NewLocation
J'ai pu résoudre ce problème sur ma machine en renommant les dossiers pour en réduire le chemin.
Pour déverrouiller un document bloqué: 1. Faites un clic droit -> Verrouiller 2. Cochez la case "Voler les verrous" 2. Libérez le verrou.
En plus de la réponse de David M., lors du nettoyage -> cochez l'option 'break locks'. Cela garantira la libération des verrous. Alors faites svn update. Cela a fonctionné pour moi.
Je recherche beaucoup sur ce problème mais aucune solution ne résout mon problème tant que je n'ai pas essayé ceci:
Mon dossier de référentiel étant partagé avec une machine virtuelle Windows xp, j'exécute le nettoyage à partir de la VM, puis j'exécute SVN UPDATE à partir de l'hôte.
Cela a fonctionné pour moi.
Salutations du Costa Rica.
Solution: