Ich erhalte diesen Fehler, wenn ich Folgendes mache svn update
:
Arbeitskopie XXXXXXXX gesperrt Bitte führen Sie den Befehl "Aufräumen" aus
Wenn ich bereinige, bekomme ich
Die Bereinigung konnte die folgenden Pfade nicht verarbeiten: XXXXXXXX
Wie komme ich aus dieser Schleife heraus?
svn
tortoisesvn
Dan
quelle
quelle
Antworten:
Ein Ansatz wäre:
Eine andere Möglichkeit wäre, den Ordner der obersten Ebene zu löschen und erneut auszuchecken. Hoffentlich kommt es aber nicht dazu.
quelle
Für mich bestand der Trick darin,
svn cleanup
oben in meiner Arbeitskopie zu laufen , nicht in dem Ordner, in dem ich die ganze Zeit gearbeitet hatte, bevor das Problem auftrat.quelle
Schauen Sie in Ihren
.svn
Ordner, es wird eine Datei mit dem Namen seinlock
. Löschen Sie diese Datei und Sie können sie aktualisieren. Möglicherweise befinden sich mehr Sperrdateien im.svn
Verzeichnis jedes Unterverzeichnisses. Sie müssen auch gelöscht werden. Dies könnte ganz einfach über die Kommandozeile mit zBeachten Sie, dass Sie Dateien im
.svn
Ordner manuell bearbeiten . Sie wurden aus einem bestimmten Grund dorthin gebracht. Dieser Grund könnte ein Fehler sein, aber wenn nicht, könnten Sie Ihre lokale Kopie beschädigen.QUELLE: http://www.svnforum.org/2017/viewtopic.php?p=6068
quelle
find . | grep ".svn/lock" | xargs rm
In meinem Fall habe ich es gelöst, indem ich einen Datensatz im SQLite-Dateisperrdatensatz ".svn \ wc" in der Tabelle WC_LOCK manuell gelöscht habe.
Ich habe die "WC" -Datei mit dem SQLite-Editor geöffnet und ausgeführt
Nach dem Kommentar von eakkas müssen Sie möglicherweise auch alle Einträge aus der
WORK_QUEUE
Tabelle löschen .quelle
Der einfachste Weg aller Zeiten:
Clean up working copy status
,Break locks
,Fix time stamps
,Vacuum pristine copies
,Refresh shell overlays
,Include externals
Sie haben Ihre Arbeit erfolgreich gemacht.
Überprüfen Sie die Screenshots als Referenz.
Erster Schritt:
Zweiter Schritt: Aktivieren Sie die Option Unterbrechungssperre (zweites Kontrollkästchen im Popup-Fenster für die Bereinigung).
Hoffe das wird dir sehr helfen.
quelle
Ein Arbeitskollege sieht diese Nachricht ständig, und für ihn liegt es daran, dass er ein Verzeichnis unter SVN-Versionskontrolle gelöscht hat, ohne es aus SVN zu löschen, und dann an seiner Stelle ein neues Verzeichnis mit demselben Namen erstellt hat, das nicht unter Versionskontrolle steht.
Wenn dies Ihr Problem ist ...:
Es gibt verschiedene Möglichkeiten, dies zu beheben, je nachdem, wie / warum das Verzeichnis ersetzt wurde.
In jedem Fall müssen Sie wahrscheinlich:
A) Benennen Sie das vorhandene Verzeichnis in einen temporären Namen um
B) Führen Sie eine SVN-Wiederherstellung durch, um das aus dem Dateisystem gelöschte Verzeichnis wiederherzustellen, jedoch nicht aus SVN
Von dort würden Sie entweder
A) Kopieren Sie die relevanten Dateien in das Verzeichnis, das gelöscht wurde
B) Wenn Sie eine wesentliche Änderung des Inhalts im Verzeichnis hatten, löschen Sie das Original des SVN, schreiben Sie es fest und benennen Sie Ihr neues Verzeichnis wieder in den gewünschten Namen um, gefolgt von einem SVN-Add, um dieses unter Versionskontrolle zu bringen.
quelle
Bei mir hat keine der oben genannten Lösungen funktioniert. Ich fand eine Lösung, indem ich Schlösser aufbrach. Bei der svn-Bereinigung habe ich "Sperren aufheben" zusammen mit "Status der Arbeitskopie bereinigen" ausgewählt.
quelle
Dieser hat für mich gearbeitet.
Nach der Bereinigung können Sie auf die neueste Version aktualisieren.
quelle
Clean up working copy status
undBreaks locks
undInclude externals
Für mich war es tatsächlich Tortoises Schuld. Tortoise beschwerte sich nur, dass "nicht bereinigen, bereinigen" ausgeführt werden kann, aber als ich die Befehlszeile (svn cleanup) ausführte, wurde mir klar, dass einige verwendete Dateien nicht gelöscht werden konnten, deren Lösung offensichtlich war. Nachdem ich Visual Studio geschlossen hatte (wodurch die Dateien geöffnet blieben), funktionierte die Bereinigung einwandfrei.
Andere Programme können auch Dateien im Repo offen halten, die dieses Problem verursachen. Excel, das ein XLS offen hält, war in einem anderen Fall ein Schuldiger. Daher ist es möglicherweise ratsam, alle Programme zu schließen, die möglicherweise etwas im Repo verwenden, oder sogar einen Neustart durchzuführen, um das Schließen von Programmen zu erzwingen und anschließend eine Bereinigung erneut zu versuchen.
quelle
Ich hatte dieses Problem, weil externe Ordner nicht mit einem vorhandenen Ordner verknüpft werden möchten. Wenn Sie eine svn: externals-Eigenschaftszeile hinzufügen, in der das Ziel ein vorhandener (versionierter oder nicht versionierter) Ordner ist, wird der Fehler "SVN Woring Copy gesperrt" angezeigt. Hier sagt Ihnen eine Bereinigung auch, dass alles in Ordnung ist, aber die Aktualisierung immer noch nicht funktioniert.
Lösung: Löschen Sie den problematischen Ordner aus dem Repository und führen Sie eine Aktualisierung im Stammordner durch, in dem die Eigenschaft svn: externals festgelegt ist. Dadurch wird der Ordner erstellt und alles wird wieder in Ordnung sein.
Dieses Problem trat bei mir auf, weil für svn: externals für Dateien der Versionsordner versioniert werden muss. Nachdem ich festgestellt hatte, dass dies in verschiedenen Repositorys nicht funktioniert, wechselte ich von externen Dateien zu externen Ordnern und geriet in dieses Chaos.
quelle
Der einfachste Weg, dies zu tun, besteht darin, versteckte Ordner anzuzeigen und dann den .SVN-Ordner zu öffnen. Sie sollten eine Null-KB-Datei mit dem Namen "lock" sehen, die das Problem behebt, wenn Sie dies löschen
quelle
Ich bin mit SVN 1.7 auf genau dasselbe Problem gestoßen, und keine der oben genannten Korrekturen hat funktioniert.
Stellen Sie in erster Linie sicher, dass Sie alle bearbeiteten Inhalte sichern.
Nachdem ich ein paar Stunden verbracht hatte (nicht alles neu heruntergeladen, da mein Zweig über 6 GB groß ist), stellte ich fest, dass sich im .svn-Ordner Ihres Zweigs eine Datenbankdatei mit dem Namen "wc" befindet.
Öffnen Sie die Datenbankdatei mit einem beliebigen Datenbankmanager (ich habe das SQLite-Manager-Plugin von Firefox verwendet) und navigieren Sie zur Tabelle WC_LOCK. Diese Tabelle enthält die Einträge für die erfassten Sperren. Löschen Sie die Datensätze aus der Tabelle und Sie sind fertig :)
quelle
Wenn ich dieses Problem habe, finde ich, dass das Ausführen des Bereinigungsbefehls direkt auf dem Problempfad im Allgemeinen zu funktionieren scheint. Dann führe ich erneut eine Bereinigung vom Arbeitsstamm aus und beschwere mich über ein anderes Verzeichnis. und ich wiederhole nur, bis es aufhört, sich zu beschweren.
quelle
Wenn Sie sich auf einem Windows-Computer befinden, zeigen Sie das Repository über einen Browser an. Möglicherweise werden zwei Dateien mit demselben Dateinamen angezeigt, die jedoch unterschiedliche Fälle verwenden. Bei Subversion wird zwischen Groß- und Kleinschreibung unterschieden, und Windows ist nicht so, dass Sie eine Sperre erhalten können, wenn Windows denkt, dass dieselbe Datei abgerufen wird und Subversion dies nicht tut. Löschen Sie die doppelten Dateinamen im Repository und versuchen Sie es erneut.
quelle
Ich habe dazu einfach einen neuen Ordner erstellt, das Projekt ausgecheckt und die aktualisierten Dateien in den neuen Ordner kopiert.
Es wurde mit einer neuen Kasse behoben.
quelle
Verwenden Sie TortoiseSVN und haben gerade ein Upgrade durchgeführt? Ich hatte dieses Problem schon einmal, als ich von 1.4 auf 1.5 wechselte und nicht neu startete. (Versuchen Sie einen Neustart).
Der Grund, warum Sie neu starten müssen, ist, dass die Cache-Datei alle funky wird.
Andernfalls exportieren Sie diese Arbeitskopie in einen neuen Ordner (kopieren Sie nicht die versteckten .svn-Ordner), checken Sie das Projekt erneut aus und verschieben Sie den gesamten Code zurück. Fahren Sie dann mit dem Festschreiben fort.
quelle
Löschen Sie einfach die .svn-Ordner und führen Sie eine Bereinigung des übergeordneten Verzeichnisses durch. Funktioniert perfekt!!
quelle
In Versionen unter Mac OS: Aktion -> Bereinigen von Arbeitskopiesperren bei ...
quelle
Ich bekomme oft so ein Problem. Mein Muster, das Aufräumprobleme verursacht.
Das Schließen des Bildbetrachters, in dem die gelöschte Datei geöffnet wird, löst das Problem. Möglicherweise kann andere Software die Bereinigung auf die gleiche Weise blockieren.
Allgemein. Ich glaube, ein Neustart des Computers kann in solchen Fällen hilfreich sein.
quelle
SVN aktualisiert normalerweise die interne Struktur (.svn / prop-base) der Dateien in einem Ordner, bevor die tatsächlichen Dateien aus dem Repository abgerufen werden. Sobald die Dateien abgerufen wurden, wird dies gelöscht. Häufig wird der Fehler ausgelöst, weil das "Update" während des Update-Fortschritts fehlgeschlagen oder vorzeitig abgebrochen wurde.
Jetzt sollte das Update funktionieren.
quelle
Hatte das gleiche Problem, weil ich einen Ordner unter einem versionierten Ordner exportiert habe. Musste den Ordner aus TortoiseSVN löschen, dann den Ordner aus dem Dateisystem löschen (TortoiseSVN mag keine nicht versionierten Unterordner ... warum nicht ???)
quelle
Suche starten .... Sperren ... Alle aufgelisteten Dateien auswählen und löschen..fixiert
quelle
Folgendes sollte reichen:
svn status | grep ". L" | sed 's /.* (. *) $ / \ 1 /' | awk '{Drucklänge ($ 1), $ 1}' | sort -nr | awk '{print "pushd" $ 2 "; svn cleanup; popd"}' | Sch
quelle
Löschen Sie Ihre Lösung nicht!
Im Ordner .svn befindet sich eine Datei mit dem Namen lock, die 0 Byte lang ist
Sie können alle diese Dateien aus allen .svn-Ordnern in Ihrer Lösung löschen, und es wird funktionieren
In meinem Fall hat es funktioniert
quelle
Das direkte Unversionieren der Dateien und ein erneutes Auschecken am selben Speicherort haben dieses Problem für mich gelöst.
Um in TortoiseSVN eine direkte Unversionierung durchzuführen, ziehen Sie den Stammordner der Arbeitskopie aus der Dateiliste mit der rechten Maustaste auf sich selbst in der Verzeichnisstruktur und wählen Sie im Popup-Menü die Option "SVN exportierte Elemente hier exportieren". TortoiseSVN stellt fest, dass das Ziel mit der Quelle identisch ist, und schlägt vor, die Arbeitskopie zu deaktivieren.
Führen Sie nach dem Unversionieren einen neuen Checkout in demselben Ordner durch (der jetzt eine nichtversionierte Kopie aller vorhandenen Dateien enthält). TortoiseSVN warnt Sie, dass Sie in einen vorhandenen Ordner auschecken, aber Sie können fortfahren.
Danach funktionierten Bereinigungen, Updates und andere Vorgänge reibungslos. Da in beiden oben genannten Schritten lokale Änderungen beibehalten werden, sollte kein Informationsverlust auftreten (es kann jedoch eine gute Idee sein, die Arbeitskopie vorher zu sichern).
Eine Warnung: Wenn die Arbeitskopie gemischte Versionen oder nicht festgeschriebene Eigenschaftsänderungen enthält, gehen diese Informationen verloren. Für mich ist dies kein alltägliches Ereignis, und angesichts der Wahl einer beschädigten Arbeitskopie oder des Verlusts nicht festgeschriebener Eigenschaftsänderungen entscheide ich mich eher für Letzteres.
quelle
Ich hatte dieses Problem, bei dem das "Aufräumen" funktionierte, aber das "Update" weiterhin fehlschlug. Die Lösung bestand darin, den betreffenden Ordner über den Windows Explorer zu löschen, nicht über das Löschen von TortoiseSVN (was das Löschen als etwas festlegt, das in das Repository übernommen werden soll, und dann habe ich eine "Prüfung" durchgeführt, um den Ordner im Wesentlichen aus dem Repository zu "aktualisieren".
Weitere Informationen zum Unterschied zwischen einem O / S-Löschvorgang und einem SVN-Löschvorgang finden Sie hier: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-rename.html
Vor allem:
Und:
quelle
Wenn Sie unter Linux arbeiten, versuchen Sie Folgendes:
Führen Sie dann den
cleanup
Befehl in diesem Verzeichnis aus und versuchen Sie zu aktualisieren.quelle
Ich habe Folgendes getan, um mein Problem zu beheben:
quelle
Klicken Sie im Solution Explorer mit der rechten Maustaste auf das Projekt, klicken Sie im ersten Untermenü auf Subversion und wählen Sie Bereinigen. Es wird das Problem lösen, so wie es für mich getan hat. Hoffe es wird funktionieren.
quelle
Aufräumen
Löschen Sie den Ordner .svn.
Führen Sie den svncheckout im Stammordner durch.
Versuchen Sie, den Bereinigungsvorgang durchzuführen.
Dadurch wurde mein Problem behoben.
quelle