web-dev-qa-db-fra.com

SVN "Erreur déjà verrouillée"

En essayant de valider une modification dans un référentiel (où je suis le seul utilisateur), un message d'erreur s'affiche.

Path
'/trunk/TemplatesLibrary/constraints/templates/TP145210GB01_PersonWithOrganizationUniversal.cs'
is already locked by user 'admin' in filesystem
'/guest/gam/Subversion/cdaapi/db'

Je suis l'utilisateur 'admin'.

J'ai essayé ce qui suit, le tout sans succès

  • lancer un "nettoyage" de Tortoise SVN
  • extraire une nouvelle copie
  • en utilisant le "navigateur repo" pour casser les verrous, mais aucun verrou n’est affiché (selon le fichier le fichier SVN verrouillé par moi, je ne peux plus le commettre )

    Je suis complètement bloqué maintenant car j'ai un dépôt maintenant que je ne peux pas valider de mises à jour.

    Des idées comment je résoudre ce problème

    Plus d'infos, sur demande:

    La commande SVN Status donne (j'ai édité un fichier)

            92       77 admin        TP146228GB01_EncompassingEncounter.cs
            92       83 admin        TP145212GB02_WorkgroupUniversal.cs
            92       83 admin        TP146248GB01_ReferenceURL.cs
            92       85 admin        TP145201GB01_PatientUniversal.cs
            92       83 admin        TP145204GB02_RecipientWorkgroupUniversal.cs
            92       83 admin        TP145202GB01_RecipientPersonUniversal.cs
            92       83 admin        TP145203GB02_RecipientOrganizationUniversal.cs
            92       77 admin        TP145205GB01_PersonUniversal.cs
            92       83 admin        TP145202GB02_RecipientPersonUniversal.cs
            92       83 admin        TP145203GB03_RecipientOrganizationUniversal.cs
            92       85 admin        TP145211GB01_HealthCareFacilityUniversal.cs
            92       85 admin        TP145200GB01_AuthorPersonUniversal.cs
            92       83 admin        TP145207GB01_AuthorDeviceUniversal.cs
        M   92       87 admin        TP146226GB02_Consent.cs
            92       85 admin        TP146229GB01_TextSection.cs
            92       83 admin        TP145204GB03_RecipientWorkgroupUniversal.cs
            92       86 admin        TP145018UK03_CustodianOrganizationUniversal.cs
            92       83 admin        TP145208GB01_AuthorNonNamedPersonUniversal.cs
            92       70 admin        TP145214GB01_DocumentParticipantUniversal.cs
            92       85 admin        TP145007UK03_RelatedEntity.cs
            92       80 admin        TP146224GB02_Atachment.cs
            92       83 admin        TP146227GB02_ServiceEvent.cs
            92       77 admin        TP145210GB01_PersonWithOrganizationUniversal.cs
    

Un svn commit donne alors

svn commit --message updates
Sending        TP146226GB02_Consent.cs
Transmitting file data .svn: E195022: Commit failed (details follow):
svn: E195022: File    'D:\BENBUN_CODE\WORK\cdaapi\trunk\TemplatesLibrary\constraints\templates\TP146226GB02_Consent.cs' is locked in another working copy
svn: E170007: No lock on path '/Subversion/cdaapi/!svn/wrk/3c75d861-8462-b94e-8729-df54843044f9/trunk/TemplatesLibrary/constraints/templates/TP146226GB02_Consent.cs' (Status 423 on PUT Request)
svn: E175002: Server sent unexpected return value (423 Locked) in response to PUT request for '/Subversion/cdaapi/!svn/wrk/3c75d861-8462-b94e-8729-df54843044f9/trunk/TemplatesLibrary/constraints/templates/TP146226GB02_Consent.cs'  

La sortie demandée de SVN st -u est indiquée ci-dessous 

>svn st -u
M               92   TP146226GB02_Consent.cs
Status against revision:     92              
53
BENBUN Coder

Après avoir discuté avec l'hébergement de mon référentiel SVN, ils m'ont donné la réponse suivante.

Apparemment, mon référentiel est répliqué dans un référentiel distant à l'aide de SVNSYNC. SVNSYNC a connu des limites à l’imposition du verrouillage sur les référentiels répliqués et c’est là que réside le problème.

Les verrous ont été introduits par le plugin AnkhSVN dans Visual Studio.

Comme les verrous semblent se trouver sur le référentiel distant, cela explique pourquoi je ne les vois pas à l'aide de commandes SVN.

Les serrures sont en train d'être retirées via la société d'hébergement et nous espérons que tout ira bientôt pour le mieux.

10
BENBUN Coder

Si votre référentiel SVN est verrouillé par AnkhSVN, utilisez simplement la commande "cleanup" de AnkhSVN pour libérer le verrou! ;)

64
Adriien M

J'ai eu le même problème. Ce problème est facilement résolu si vous exécutez la commande Cleanup d'AnkhSVN.

10
Mário Meyrelles

Je n'utilise pas AnkhSVN mais j'ai un problème similaire après l'annulation d'une mise à jour de SVN Tortoise. Il laissait deux répertoires "déjà verrouillés". Semblable à la solution de Roman C. Utilisez Get lock pour verrouiller un fichier dans chaque répertoire "déjà verrouillé", puis relâchez-les, puis effectuez un nettoyage sur le répertoire le plus élevé. Cela semblait résoudre le problème. 

5
truefish

C'est même bon d'utiliser tortoise svn cleanup, inutile d'utiliser Ankh one

5
Rafał

Ces paramètres ont fonctionné pour moi:

Screenshot

Je ne pouvais pas mettre à jour le référentiel après l'expiration du délai de connexion, alors que je vérifiais le référentiel.

4
Hamza Ali Siddiqui

Je devais faire un nettoyage et choisir de «casser les serrures» pour que cela fonctionne pour moi.

4
ben

J'ai des erreurs similaires. Je lance svn clean-up, puis j'essaie "d'obtenir une horloge" plusieurs fois. Ensuite, cette erreur a disparu. 

4
xiaolei.chen

J'ai eu le même problème: je ne peux pas valider beaucoup de fichiers à la fois.


Le commit fonctionne par:

  1. Lancer un "nettoyage" de Tortoise SVN

  2. Commit chaque fichier séparément. Créez un nouveau dossier racine et validez chaque fichier ou dossier.


** Si l'erreur se reproduit, vous devez répéter l'action n ° 1-2. **

1
rut

Vous devez nettoyer votre SVN de tortue en cliquant sur l'option de nettoyage que vous obtenez après Cliquez avec le bouton droit de la souris sur les fenêtres où vous souhaitez mettre à jour SVN . Après le nettoyage, essayez de mettre à jour SVN de manière similaire en cliquant sur l'option UPDATE SVN.

Cela a fonctionné pour moi.

0
akshay limaye

Utilisateurs TortoiseSVN: faites un clic droit sur le répertoire du projet racine> TortoiseSVN> Nettoyer ... ( assurez-vous de cocher toutes les cases ). Cela a fonctionné pour moi.

0
Janac Meena