70 Stimmen

Arbeitskopie Gesperrt

Ich entwickle ein Web mit Subversion als Versionskontrolle, aber bekam "Arbeitsverzeichnis gesperrt" Fehlermeldung

Hier ist die Geschichte:

Ich habe

PC-A:

  • Windows XP Pro
  • VisualSVN 2.5.2
  • Schildkröte SVN 1.7.3

PC-B:

  • Windows XP Startseite
  • Schildkröte SVN 1.7.3

Ich habe ein Projektarchiv auf PC-A mit VisualSVN erstellt.

Von PC-B, I Checkout http: \\PC -A:81 \svn\test\trunk a D:\xampp\htdocs\test -lalala.

Von PC-A aus checke ich auch http: \\PC -A:81 \svn\test\trunk a D:\xampp\htdocs\test -lalala.

Ich Erstellen Sie eine Post-Commit-Hooks ausführen my-post-commit.bat-Datei, so dass, wenn ich zu http: \\PC -A:81 \svn\test\trunk , Ordner D:\xampp\htdocs\test -lalalaon PC-A wird aktualisiert, so dass andere Personen das Ergebnis sehen können.

"C:\Program Files\VisualSVN Server\bin\svn.exe" update "D:\xampp\htdocs\test-lalala" --username myusername --password mypassword --config-dir "C:\Program Files\VisualSVN Server\conf" 

Auf PC-B: Erstellen Sie die Datei index.php und übertragen Sie sie. Beim Übertragen erhalte ich diese Fehlermeldung

error message

Auf PC-A versuche ich, mit der rechten Maustaste auf D:\xampp\htdocs\test -lalala TortoiseSVN > Aufräumen, und aktivieren Sie "Status der Arbeitskopie bereinigen" und "Externe einbeziehen" (standardmäßig aktiviert). Versuchen Sie, die Datei hinzuzufügen und zu übertragen, aber Sie erhalten immer noch die gleiche Fehlermeldung.

Ich versuche, im Ordner .svn nach einer Sperrdatei zu suchen, aber es gibt keine Sperrdatei. Ich habe auch versucht, die Arbeitskopie auf PC-A zu löschen. D:\xampp\htdocs\test -lalala und checkout wieder, aber wenn ich zu übertragen, immer noch die gleiche Fehlermeldung erhalten.

Wie lässt sich diese Fehlermeldung beheben? Wenn ich also übertrage, wird der Ordner automatisch aktualisiert?

197voto

tatianes Punkte 1969

Jedes Mal, wenn ich die Fehlermeldung "Arbeitskopie gesperrt" erhalte, führe ich eine "Bereinigung" durch. Danach ist alles wieder normal.

In der Befehlszeile können Sie Folgendes ausführen svn cleanup wodurch auch Sperrdateien entfernt werden.

Hinweis: Führen Sie diesen Vorgang auf einer höheren Verzeichnisebene durch, und die meisten Probleme sollten damit gelöst sein.

35voto

Jonathon J Howey Punkte 616

Für alle, die immer noch dieses Problem haben (Fehler: Arbeitskopie '{DIR}' gesperrt.), habe ich die Lösung:

Ich habe herausgefunden, dass beim Absturz von TortoiseSVN Windows eine TSVNCache.exe zurückbleibt, die noch einige Handles zu Ihrer Arbeitskopie hat, was die Lock-Probleme verursacht, die Sie sehen (und auch Clean Up daran hindert, seine Arbeit zu tun).

Um dieses Problem zu lösen:

Entweder

1a) Verwenden Sie den Process Explorer oder ein ähnliches Programm, um die Handles zu löschen, die TSVNCache.exe gehören.

1b) oder noch einfacher, verwenden Sie den Task-Manager, um TSVNCache.exe zu beenden

Dann

2) Rechtsklick -> TortoiseSVN -> Aufräumen. Nur "Status der Arbeitskopie bereinigen" muss aktiviert sein.

Von dort aus können Sie sich über die Aktualisierung/Beauftragung freuen. Sie können das Lock-Verhalten reproduzieren, indem Sie ein SVN Update durchführen und dann den TortoiseProc.exe Prozess schnell beenden, bevor das Update abgeschlossen ist.

22voto

Prince Punkte 1280

Führen Sie eine "Bereinigung" auf der obersten Verzeichnisebene durch.

11voto

sgupta Punkte 515

Ich habe das Problem gelöst, indem ich den WC_Lock-Eintrag in der SQLite-Datei ".svn" gelöscht habe. \wc.db "Datensatz der Dateisperre in der Tabelle WC_LOCK.

Öffnen Sie einfach die Datei "wc.db" mit dem SQLite-Editor und führen Sie

löschen aus WC_LOCK

Die Lösung wurde in einem anderen Link angegeben, den ich im Moment nicht finden kann. Aber wirklich eine gute Lösung; ohne sich um das Löschen aller Verzeichnisse zu kümmern

7voto

hackintosh152 Punkte 71

Ich habe das Problem durch Löschen der versteckten .svn und ersetzte ihn durch den neuen Checkout-Ordner .svn und es hat funktioniert. Wahrscheinlich ist dieser versteckte Ordner durcheinander geraten!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X