Ich verwende Tortoise SVN, um Änderungen am Repository auf dem Server zu aktualisieren und festzuschreiben, wenn ich Änderungen an meiner Arbeitskopie vornehme. Aber ab einigen Tagen kann ich die Änderungen nicht mehr festschreiben und erhalte die folgende Fehlermeldung, wenn ich versuche, sie festzuschreiben.
Working copy 'C:\Program Files\EasyPHP\www\project\php' locked.
'C:\Program Files\EasyPHP\www\project' is already locked.
Ich habe versucht, den Ordner zu entsperren, indem ich mit der rechten Maustaste darauf geklickt und Tortoise SVN> Lock sperren ausgewählt habe
Es gibt nichts zu entsperren. Keine Datei hat eine Sperre in dieser Arbeitskopie
Was könnte das Problem sein?
quelle
Die akzeptierte Antwort hat bei mir nicht funktioniert. Um dieses Problem zu beheben, musste ich mit der rechten Maustaste auf die gesperrte Datei klicken und auswählen
repo-browser
. Dadurch wurde ein Popup mit den Dateien geöffnet, die sich auf dem SVN-Server befinden. Ich habe dann mit der rechten Maustaste auf die gesperrte Datei geklickt und ausgewähltbreak lock
.Als ich den Repository-Browser schloss, konnte ich mich im Explorer endlich festlegen!
quelle
quelle
Ich bin auch auf dieses Problem gestoßen. Für einige möchte ich darauf hinweisen, dass, wenn es gesperrt ist, mit Ihrem Team prüfen. Jemand im Team hat möglicherweise einige Dinge gesperrt, weil er daran arbeitet (dies ermöglicht Entwicklern, an Dingen zu arbeiten, ohne dass andere hereinkommen und versuchen, an denselben Inhalten zu arbeiten). Wenn dies der Fall ist, kann das Aufheben der Sperre und das anschließende Aktualisieren möglicherweise Daten für den Entwickler verlieren, der sie gesperrt hat.
Vor diesem Hintergrund war ich besorgt, dass die Option "Bereinigen" möglicherweise meine Arbeitskopie ändern oder Informationen aus der Repo-Ebene von Subversion entfernen würde. Das ist nicht der Fall. Die Antwort hat bei mir funktioniert. Meins wurde gesperrt, als ich während eines Updates auf Abbrechen klickte. Am Ende habe ich einige unserer Zweige gezogen und ich brauchte das Zeug nicht, also drückte ich auf Abbrechen. Meine Arbeitskopie wurde gesperrt. Ich konnte keine Dokumente finden, die als "gesperrt" angezeigt wurden, als ich den Befehl "Freigabesperre" verwendete. Dies hat mich verwirrt und nach einigem schnellen Lesen (und diesem Thread) habe ich versucht, den Befehl "Aufräumen" auszuführen. Nach einer Bereinigung wurde mein Problem behoben und nichts wurde mehr gesperrt.
Quelle: http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-locking.html
quelle
Es gibt mehrere Bedeutungen von "Sperre" in SVN und einige dieser Antworten, die von "Sperre aufheben" oder einem Teamkollegen, der eine Sperre hält, sprechen, verwenden nicht die relevante Bedeutung für die ursprüngliche Frage. Diese Frage befasst sich mit "Sperren von Arbeitskopien" (dh sie sind vollständig lokal für die Arbeitskopie auf Ihrem Computer und haben nichts mit Ihnen oder Teammitgliedern zu tun, die eine Datei sperren oder auschecken). Die von MicroEyes akzeptierte Antwort bezieht sich auf die korrekte Verwendung und ist in diesem Fall die beste Option.
Wenn eine Bereinigung nicht funktioniert, müssen Sie möglicherweise eine neue Arbeitskopie des Projekts auschecken. Wenn Sie geänderte, nicht festgeschriebene Dateien haben, müssen Sie diese in die neue Arbeitskopie kopieren, damit Sie Ihre Änderungen nicht verlieren.
Auf dieser Seite in den SVO-Dokumenten von Tortoise finden Sie eine Beschreibung der drei Verwendungszwecke von "lock": http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-locking.html
Auszug (Hervorhebung hinzugefügt):
quelle
Ich hatte keine Ahnung, welche Datei die Sperre hatte. Was ich also tat, um dieses Problem zu lösen, war:
Das hat bei mir funktioniert.
quelle
Ich hatte verschiedene Dinge ausprobiert, einschließlich "Aufräumen" in unteren Unterverzeichnissen. Schließlich habe ich versucht, den Ordner der obersten Ebene zu aktualisieren. Nichts. Dann habe ich den Tipp "Aufräumen der obersten Ebene" gelesen. Das habe ich versucht. Der Aufräumteil war erfolgreich, aber das Schloss blieb. Meine Lösung bestand darin , zur obersten Ebene zurückzukehren, aufzuräumen und dann jeden roten (!) Ordner zu bereinigen, in den ich einen Drilldown durchführen konnte . Nachdem alles "aufgeräumt" war, funktionierte das Update einwandfrei. Der Tipp "Break Lock" sieht ebenfalls gut aus, mit der Ausnahme, dass jemand in Ihrem Team möglicherweise eine legitime Sperre für Dinge hat.
quelle
Ich habe es geschafft, mich aus einer Datei in svn auszusperren - ich weiß nicht wie - aber als ich versuchte, die Sperre (erneut) zu erhalten (Tortoise zeigte die Option "Get Lock" für die Datei an), beschwerte sie sich, dass sie bereits die hatte sperren. Ich habe versucht, die Datei zu löschen und den Verzeichniswechsel festzuschreiben - das gleiche Ergebnis. Ich habe CleanUp ausprobiert (einschließlich des Aktualisierens des Overlays), aber das ist auch fehlgeschlagen.
Die Lösung bestand darin, in den Tortoise-Repo-Browser zu gehen, die Datei zu finden und die Break-Lock- Funktion zu verwenden.
quelle
Wenn dies ( https://stackoverflow.com/a/11764922/3045875 ) nicht hilft: Überprüfen Sie, ob ein anderes SVN-Tool stört, und schließen Sie das Tool. Wir hatten nur ein paar Stunden Probleme beim Zusammenführen mit TortoiseSVN und hatten Dutzende solcher Sperrfehler. Schließlich stellten wir fest, dass die Integration von Matlabs SVN stört, und nach dem Schließen hat alles geklappt.
quelle
Windows-Lösung:
https://sourceforge.net/projects/win32svn/
1. Laden Sie es herunter und fügen Sie es dem Systempfad hinzu.
2. Gehen Sie zum Arbeitsverzeichnis und führen Sie "svn clean" und "svn update" in cmd aus.
quelle