it-swarm.com.de

Subversion wegen "vorheriger Operation ist nicht beendet" hängen geblieben?

Wenn ich versuche, mein Subversion-Repo zu aktualisieren, wird die Bereinigung ausgeführt. Wenn ich eine Bereinigung durchführe, heißt es, dass eine Datei fehlt. (Ich habe ein MASSIVE-Verzeichnis mit Dateien gelöscht, die heute Morgen nicht von meinem PC aus festgeschrieben wurden, aber dann mache ich denselben Satz von Dateien von der Arbeit, und jetzt ist mein Home-Repo kaputt). Bereinigung sagt also:

Bereinigung konnte blablabla nicht verarbeiten. Datei blablabla kann nicht schreibgeschützt werden: Das System kann die angegebene Datei nicht finden.

Wenn ich ein Update mache, heißt es:

Befehl: Aktualisierungsfehler: Der vorherige Vorgang wurde nicht abgeschlossen. 'cleanup' ausführen, wenn es unterbrochen wurde Fehler: Bitte führen Sie die .__ aus. Befehl 'Aufräumen'. Abgeschlossen!:

Wie kriege ich das los?

213
coderama

Ich war in ähnlichen Situationen. Haben Sie versucht, die Bereinigung im Stammverzeichnis Ihres Arbeitsbereichs auszuführen? Manchmal weiß ich, dass eine Bereinigung von einem untergeordneten Verzeichnis (in dem das Problem liegt) nicht funktioniert, und eine Bereinigung vom Stamm des Arbeitsbereichs aus.

Wenn das immer noch fehlschlägt, da Sie irgendwo ein untergeordnetes Verzeichnis gelöscht haben. Löschen Sie auch eine Stufe höher aus dem untergeordneten Verzeichnis (vorausgesetzt, es handelt sich nicht um das Stammverzeichnis), und versuchen Sie erneut, die Aktualisierung und Bereinigung durchzuführen. 

Wenn Bereinigungsversuche auf keiner Ebene erfolgreich sind, checken Sie eine neue Arbeitskopie aus. 

90
Joshua McKinnon

Es ist oft nicht nötig, ein neues Checkout oder Kopieren durchzuführen.

Ich habe gerade ein ähnliches Problem in Bezug auf den Fehler "vorherige Operation ist nicht abgeschlossen" mit Hilfe dieses Problems gelöst ( Link )

Es scheint, dass svn manchmal während der Verarbeitung von Befehlen/Vorgängen stecken bleibt .. Alle diese Vorgänge werden in der Datenbankdatei wc.db im .svn-Ordner gespeichert.

Indem Sie SQLite in mein Checkout-Verzeichnis laden und ausführen

sqlite3.exe .svn/wc.db "select * from work_queue"

sie können eine Liste aller ausstehenden Vorgänge erhalten. Diese Operationen sind die, auf die sich der Fehler als "nicht beendet" bezieht.

Laufen 

sqlite3.exe .svn/wc.db "delete from work_queue"

alle alten Vorgänge werden aus der Arbeitswarteschlange gelöscht, und der Fehler verschwindet Es ist keine neue Prüfung oder ähnliches erforderlich

317
Sigurd V

Das Ausführen der Konsole svn cleanup hat das gleiche Problem für mich gelöst.

108
user2902464

Ich hatte gerade ein ähnliches Problem. Beim Ausführen des Prozess-Explorers zeigte sich, dass ein anderes Programm (Notepad ++) einen Dateihandle für einen Ordner hatte, den SVN versucht hatte, zu löschen. Wenn ich Notepad ++ geschlossen habe, konnte "Clean Up" erfolgreich ausgeführt werden.

24
Glen Little

Nach dem Hinzufügen eines Glases, das bereits in der SVN enthalten ist, trat dieses Problem auf und ich habe die neue Version mit demselben Namen hinzugefügt.

In Eclipse habe ich das versucht 

  1. Klicken Sie mit der rechten Maustaste auf Ordner> Team> Aktualisieren/Bereinigen.
  2. Bereinigen, erstellen und aktualisieren Sie meine Anwendung.
  3. Starten Sie die Eclipse neu.

Mit den obigen Schritten kann ich synchronisieren.

18
Rakesh Chouhan

Ich hatte hier die meisten Antworten und einige andere ohne Erfolg versucht. Meine WORK_QUEUE-Tabelle war leer und ich konnte keine Aufräumarbeiten in einem höheren Ordner durchführen. Was tat Arbeit war das Folgende (dies ist über Tortoise SVN);

  • Klicken Sie mit der rechten Maustaste auf den Ordner
  • Gehe zu TortoiseSVN -> Aufräumen ...
  • Stellen Sie sicher, dass die Option für Break Locks aktiviert ist, und klicken Sie auf OK

Der Bereinigungsvorgang ist nun erfolgreich abgeschlossen und ich kann fortfahren. Es ist kein Download von sqlite3 oder anderen verwundenen Lösungen erforderlich.

10
DiskJunky

Der Versuch, die Bereinigung auszuführen, während Ihre Dateien geöffnet sind, hatte Probleme. Sobald ich meine Anwendung (Visual Studio) geschlossen habe, bin ich aufgeräumt und es war erfolgreich

9
John

Ich hatte das gleiche Problem, in meinem Fall verwendete ich svn tortoise mit der Anwendung, die ich meine. Mit der cmd-Shell von Windows im Root-Modus habe ich svn cleanup und dann svn update angewendet .... Dann können Sie in den Anwendungsmodus zurückkehren und es wird perfekt funktionieren!

4
GutiMac

Ich hatte das gleiche Problem und fand irgendwie heraus, dass ich eine versteckte .svn-Datei auf der Ebene c:\hatte. Nachdem ich diesen versteckten Ordner (.svn) gelöscht hatte, funktionierte alles in Ordnung. Ich muss unbeabsichtigt ein Arbeitsverzeichnis auf dem Root-Laufwerk erstellt haben.

2
mike gold

Ich habe versucht, den .svn-Ordner an einem anderen Ort zu entfernen und ihn wieder im selben Stammordner abzulegen. Nachdem ich versucht hatte, das SVN zu aktualisieren, wurde es aktualisiert. Ich weiß nicht wie genau es funktioniert hat. 

2
Ajayvignesh

In meinem Fall hatte ich eine Schluckuhr, die die Probleme verursachte. Nach dem Stoppen konnte ich den Cleanup-Befehl ausführen.

2

hallo Jungs in meinen Fällen, nachdem ich Visual Studio geschlossen habe und es erneut mit CleanUp versucht habe Gute Zeit

2
Ali Sadri

Ich hatte einen Fehler wie "Kann Perms der Datei '/Users/Code/UnitTest.cpp' nicht ändern: Keine solche Datei oder Verzeichnis". Die Subversion ist verwirrt über eine Datei, die nicht mehr vorhanden ist. Ich habe einfach so etwas wie "echo ABCD >> /Users/Code/UnitTest.cpp" gemacht, um eine Kopie der Datei zu erstellen und dann zu bereinigen. Es funktionierte.

1
SmallChess

Das ist bei mir bei der Verwendung von Externen passiert und einer von ihnen war korrupt. Ich musste in diesen Ordner gehen und eine Bereinigung durchführen. Die Bereinigung funktionierte dann für die gesamte Arbeitskopie. 

Beispiel: Führen Sie zunächst mit ^/widgets/foo common/foo-widget den Ordner common/foo-widget aus.

1
erikH

Ich habe mich auch mit dem gleichen Problem befasst, das ich durchgeblasen habe:

1.Versuchen Sie den Prozess, der sich auf svn bezieht, d. H. TSVNCache.exe und TortoiseProc 2.Revertieren der unversionierten Dateien und Löschen derselben, die ich in svn . Habe. 3.cleanup mit dem Befehl "svn cleanup".

und schließlich, als der Desktop neu gestartet wurde, funktionierte er für mich, also für den Neustart des Systems für mich 

1
Ankur Nirmalkar

Problemumgehung, die für mich funktioniert hat:

  1. Schneiden Sie den Inhalt Ihres Verzeichnisses aus und kopieren Sie es in einen anderen Ordner.
  2. Führen Sie die Bereinigung über die Befehlszeile des leeren Ordners aus.
  3. Kopieren Sie die Dateien wieder in den ursprünglichen Ordner.

Fertig, aber ich kann nicht erklären, warum dies passiert .. Wenn Sie die Dateien nicht entfernen, sagt der Bereinigungsbefehl, dass er diese Dateien nicht lesen/schreiben kann.

1
Paolo

In meinem Fall ist der Fehler aufgetreten, als versucht wurde, aus einer IDE zu übergeben. Als ich das Commit der gleichen Verzeichnisse mit TortoiseSVN im Explorer ausgeführt habe, war die Operation erfolgreich.

1
Dani

Ich hatte das gleiche Problem, was für mich funktioniert hat:

  1. Kopieren Sie Ihre Ordner und Dateien an einen anderen Ort, z. B. in einen Ordner (Ich habe meine Dateien kürzlich geändert und die Zusage ist fehlgeschlagen und führte zu dem angesprochenen Problem)
  2. checken Sie eine neue Arbeitskopie aus
  3. kopieren Sie die geänderten Dateien aus dem Ordner in Ihre Arbeitskopie und überschreiben Sie vorhandene Dateien. Festschreiben/Aktualisieren sollte jetzt funktionieren
1
guest

Ich habe diesen Fehler heute behoben, als er beim Commit to SVN .. festgestellt wurde .. Der Fehler war echt, TortoiseSVN konnte nicht auf eine Datei zugreifen, auf die ich Commit versuchte. Diese Datei wurde gespeichert, während ein Programm "As Administrator" in Windows ausgeführt wurde. Dies bedeutet, dass die Datei über Administratorzugriff verfügt, jedoch nicht über mein Konto (TortoiseSVN, das als interaktiver Benutzer ausgeführt wird) .. Ich habe den Besitz der benannten Datei unter meinem Windows-Konto übernommen, und danach konnte Cleanup fortfahren.

1

löschen Sie das SVN aus dem Hauptordner und ersetzen Sie es aus einer anderen funktionsfähigen Kopie, die Sie von elsewere haben. Der svn-Ordner ist normalerweise ein versteckter Ordner. Stellen Sie daher sicher, dass Sie den Ordner vor dem Ausführen der obigen Schritte wieder einblenden.

1
digish a d

Ich hatte den .svn-Ordner von meinem Mitentwickler genommen und meinen .svn-Ordner damit ersetzt. Es hat für mich funktioniert. Ich weiß nicht was andere Konsequenzen sein können!

0
Manish Dubey

Ich habe einige Probleme mit svn gesehen, darunter auch dieses, das durch Löschen/Erstellen eines .svn/tmp-Verzeichnisses behoben wurde. Dann svn cleanup ausführen

0
Vinnie James

Neben Sigurd Vs Antwort (das sollten Sie zuerst versuchen), haben einige größere Code-Basen mehrere '.svn'-Ordner, und es ist nicht notwendigerweise der Ordner im Stammverzeichnis, der die gesperrte Task enthält. 

Wenn dies der Fall ist, müssen Sie jedes prüfen. Wenn Sie bereits über SQLite und Powershell verfügen, können Sie das betreffende Verzeichnis schnell finden.

Um herauszufinden, welche Ordner gesperrt sind, führen Sie Folgendes aus (ersetzen Sie path\to\sqlite.exe): 

Get-ChildItem -Path . -Filter '.svn' -Recurse -Hidden | foreach { $toFind = $_.FullName + "\wc.db" ; gci $toFind | foreach { echo $_.FullName ; path\to\sqlite.exe $_.FullName "select * from work_queue" } }

Daraufhin wird eine Liste der .svn-Verzeichnisse und unter jedem Verzeichnis eine Liste aller aktuellen Aufgaben angezeigt. 

Wenn es Aufgaben mit nicht abgeschlossenen Aufgaben gibt, für jeden Durchlauf (Ersetzen von path\to\sqlite.exe und path\to\.svn\wc.db): 

path\to\sqlite.exe path\to\.svn\wc.db "delete from work_queue"

0
Robert Gowland

Dies kann vorkommen, wenn Sie noch Dateien geöffnet haben, wenn Sie versuchen, SVN zu wechseln/zu bereinigen.

Ich hatte einen Zweig, in dem ich eine neue Datei erstellt hatte, die ich in einer anderen Anwendung geöffnet hatte. Beim Wechseln zu einem anderen Zweig konnte die Datei nicht entfernt werden, sodass der Switch fehlschlug. Dies führte auch dazu, dass svn cleanup fehlschlug. Dies wird jedoch nicht als Grund in der SVN-Benutzeroberfläche von Tortoise angezeigt.

Wenn Sie svn cleanup in einem Konsolenfenster (im Stammverzeichnis) ausführen, wird der Fehler file\location\file.ext: The process cannot access the file because it is being used by another process deutlich angezeigt.

Wenn Sie alle geöffneten Dateihandles/Fenster schließen und die Konsole svn cleanup ausführen, kann die Bereinigung ordnungsgemäß ausgeführt werden.

Lange Geschichte svn cleanup in der Konsole, um einen detaillierteren Fehler zu sehen.

0
Jamie Pollard

Verwenden Sie diesen Link https://tortoisesvn.net/docs/nightly/TortoiseSVN_de/tsvn-dug-cleanup.html

Ich habe bemerkt, dass das Tutorial die Top 6 Optionen überprüft hatte. In meiner Verzweiflung versuchte ich es mit diesen angekreuzten Kästchen, und zu meiner Überraschung funktionierte es. Lesen Sie sorgfältig, was jeder tut. Wenn man sich die Beschreibung jedes einzelnen anschaut, schien es mir sicher, dass er für mich einbezogen werden konnte, und eines dieser geprüften Elemente schien das Problem zu beheben, das mich aufhielt. 

0
eaglei22

In meinem Fall wurde eine Java Virtual Machine-Hintergrundinstanz ausgeführt, durch die die erfolgreiche Bereinigung beendet wurde.

0
Dish

Dieses Problem hatte ich beim Versuch, bei TortoiseSVN zu suchen. Zunächst scheiterten sowohl TortoiseSVN-Bereinigung als auch Konsolensvn-Bereinigung mit ähnlichen Meldungen wie das ursprüngliche Poster.

Aber meine Lösung (zufällig herausgefunden) bestand nur für ein paar Minuten. Ich denke, TSVNCache hat sich beim Einchecken an einigen dieser Dateien festgehalten.

0
Jahmic

Ich benutze Schildkröte SVN. Wenn die Bereinigung fehlgeschlagen ist, aktivieren Sie die Bereinigungsoption

Stellen Sie sicher, dass die Option Break Locks aktiviert ist.

Bereinigungsschritt

  • linke Maustaste im Explorer-Ordner
  • wählen Sie das Menü 'Tortoise SVN' -> 'Clean up ...'
  • aktiviere ' Break Locks ' und drücke 'ok'

Es hat schon geantwortet, aber manchmal hilft das Bild

enter image description here

0
s.c

folgen Sie den nachfolgenden Schritten.

1) Wechseln Sie in das Verzeichnis, in dem Sie über svn. (Stammordner oder untergeordneter Ordner) nicht erfolgreich bereinigen können.

2) Wählen Sie den Ordner .svn im Verzeichnis aus, schneiden Sie den Ordner aus und fügen Sie ihn in das separate Laufwerk oder den separaten Speicherort ein (außerhalb des svn-Verzeichnisses).

3) Gehen Sie nun zurück in das Verzeichnis - klicken Sie mit der rechten Maustaste und wählen Sie TortoiseSVN -->Repo-browser.

4) Checkout den Ordner (es wird kein neuer Checkout durchgeführt).

5) Alle Ihre Artikel werden erneut versioniert und das interne Problem von svn wird behoben, und das Problem sollte gelöst werden.

0
Kunal Khatri