Ich entwickle ein Web mit Subversion als Versionskontrolle, habe aber die Fehlermeldung "Arbeitsverzeichnis gesperrt" erhalten
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 Home
- Schildkröte SVN 1.7.3
Ich habe ein Repository auf PC-A mit VisualSVN erstellt.
Von PC-B aus checke ich http: \\ PC-A: 81 \ svn \ test \ trunk nach D: \ xampp \ htdocs \ test-lalala.
Von PC-A aus checke ich auch http: \\ PC-A: 81 \ svn \ test \ trunk nach D: \ xampp \ htdocs \ test-lalala.
Ich erstelle einen Post-Commit-Hook, in dem die Datei my-post-commit.bat ausgeführt wird. Wenn ich mich also auf http: \\ PC-A: 81 \ svn \ test \ trunk, Ordner D: \ xampp \ htdocs \ test-lalalaon PC- Ein Testament wird aktualisiert, damit 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"
Erstellen Sie auf PC-B die Datei index.php und legen Sie fest. Beim Festschreiben wird diese Fehlermeldung angezeigt
Auf PC-A versuche ich, mit der rechten Maustaste auf D: \ xampp \ htdocs \ test-lalala TortoiseSVN> CleanUp zu klicken und "Status der Arbeitskopie bereinigen" und "Externe einschließen" zu aktivieren (standardmäßig aktiviert). Versuchen Sie, eine Datei hinzuzufügen und festzuschreiben, aber es wird immer noch dieselbe Fehlermeldung angezeigt.
Ich versuche, im .svn-Ordner nach einer Sperrdatei zu suchen, aber es gibt keine Sperrdatei. Ich versuche auch, die Arbeitskopie auf PC-A D: \ xampp \ htdocs \ test-lalala zu löschen und erneut auszuchecken, aber beim Festschreiben wird immer noch dieselbe Fehlermeldung angezeigt.
Wie löse ich diese Fehlermeldung? Wenn ich mich festschreibe, wird der Ordner automatisch aktualisiert?
quelle
Antworten:
Jedes Mal, wenn ich einen Fehler beim Sperren der Arbeitskopie erhalte, führe ich eine "Bereinigung" aus. Danach ist alles wieder normal.
In der Kommandozeile können Sie ausführen
svn cleanup
wodurch auch Sperrdateien entfernt werden.Hinweis: Führen Sie diesen Vorgang in einem Verzeichnis auf einer Ebene aus, das in den meisten Fällen behoben werden sollte.
quelle
Für alle, die dieses Problem noch haben (Fehler: Arbeitskopie '{DIR}' gesperrt.), Habe ich Ihre Lösung:
Ich habe festgestellt, dass beim Absturz eines TortoiseSVN-Fensters eine TSVNCache.exe verbleibt, die noch einige Handles für Ihre Arbeitskopie enthält und die Sperrprobleme verursacht, die angezeigt werden (und außerdem verhindert, dass Clean Up seinen Job ausführt).
Um dies zu beheben:
Entweder
1a) Verwenden Sie Process Explorer oder ähnliches, um die Handles von TSVNCache.exe zu löschen
1b) .. Oder noch einfacher, verwenden Sie einfach den Task-Manager, um TSVNCache.exe zu beenden
Dann
2) Klicken Sie mit der rechten Maustaste -> TortoiseSVN -> Aufräumen. Es muss nur "Status der Arbeitskopie bereinigen" aktiviert werden.
Von dort aus viel Spaß beim Aktualisieren / Festschreiben. Sie können das Sperrverhalten reproduzieren, indem Sie das SVN-Update durchführen und dann den TortoiseProc.exe-Prozess schnell beenden, bevor das Update abgeschlossen ist.
quelle
Führen Sie eine "Bereinigung" auf der obersten Verzeichnisebene durch.
quelle
Ich habe es gelöst, indem ich den WC_Lock-Datensatz im SQLite-Dateisperrdatensatz ".svn \ wc.db" in der WC_LOCK-Tabelle gelöscht habe.
Öffnen Sie einfach die Datei "wc.db" mit dem SQLite-Editor und führen Sie sie aus
aus WC_LOCK löschen
Die Lösung wurde in einem anderen Link angegeben, den ich derzeit nicht finden kann. Aber wirklich eine ziemliche Lösung; ohne sich Gedanken über das Löschen aller Verzeichnisse machen zu müssen
quelle
Ich habe es behoben, indem ich den versteckten
.svn
Ordner gelöscht und durch die neue Kasse ersetzt habe,.svn
und es hat funktioniert. Wahrscheinlich wurde dieser versteckte Ordner durcheinander gebracht!quelle
Ich bin sicher, es funktioniert gut für Sie
Gehe zum SVN-Ordner der obersten Ebene.
Klicken Sie mit der rechten Maustaste auf den Ordner (der Ihre SVN-Dateien enthält) -> TortoiseSVN -> CleanUp
Dies wird sicherlich Ihr Problem lösen.
quelle
Wenn Sie ein Windows-Typ sind und den Benutzer "Tortoise SVN" verwenden.
Wählen Sie die Datei aus. Rechtsklick. Option 'Tortoise SVN' -> Sperre erhalten. Verwenden Sie die Option 'Das Schloss stehlen'.
quelle
Sie können es mit nur einem Schritt beheben.
Schritt 1: Öffnen Sie das Terminal und gehen Sie zu Ihrem Projekt. Feuern Sie dann den Befehl "svn cleanup" und dann "svn update" ab.
quelle
Am Ende habe ich den Exportbefehl anstelle des Aktualisierungsbefehls verwendet. Dies ist der Post-Commit-Hook
"C: \ Programme \ VisualSVN Server \ bin \ svn.exe" exportiere "D: \ xampp \ htdocs \ test-lalala" - ruhig - nicht interaktiv - erzwinge - Benutzername mein Benutzername - Passwort mein Passwort
quelle
Fehler "Arbeitskopie gesperrt", folgen Sie einfach den Schritten:
Sie können den SVN ohne Fehler ordnungsgemäß aktualisieren
quelle
Tortoise svn -> aufräumen
Das ist alles in SVN
quelle
Wenn Sie einen Kopierfehler erhalten, führen Sie einfach
svn cleanup
das aus, um alle unerwünschten Dateien und Ordner zu bereinigen. Wenn immer noch ein Fehler auftritt, machen Sie eine Sache.Kopieren Sie Ihre Dateien auf ein anderes Laufwerk, löschen Sie den Ordner oder die Datei der Arbeitskopie und führen Sie dann ein Update durch. Dadurch wird die neue Datei abgerufen und anschließend durch Ihre aktualisierte Kopie ersetzt und diese festgeschrieben.
quelle
Ich habe die gleichen Probleme erlebt, die Sie beschrieben haben. Es scheint ein Fehler in Tortoise 1.7.3 zu sein. Ich bin auf 1.7.2 zurückgekehrt, habe eine Bereinigung und ein Update durchgeführt. Jetzt funktioniert meine SVN / Schildkröte wieder einwandfrei
quelle
Für PHPStorm oder Intellij:
quelle
Läuft Ihre BitLocker-Festplattenverschlüsselung? In meinem Fall wurde das gesamte Laufwerk der Festplatte für die Verschlüsselung gesperrt, und SVN ist mit diesem Fehler fehlgeschlagen.
quelle
zweimal wiederholen
quelle
test-lalala
?