Wenn ich versuche, mein Subversion-Repo zu aktualisieren, heißt es, dass ich die Bereinigung ausführen muss. Wenn ich die Bereinigung durchführe, fehlt eine Datei. (Ich habe ein MASSIVES Verzeichnis von Dateien, die heute Morgen nicht festgeschrieben wurden, von meinem Heim-PC gelöscht, aber dann habe ich die gleichen Dateien von der Arbeit festgeschrieben, und jetzt ist mein Heim-Repo kaputt.) Aufräumen heißt also:
Bereinigung fehlgeschlagen blablabla Datei kann nicht festgelegt werden blablabla Lese- / Schreibzugriff: Das System kann die angegebene Datei nicht finden.
Wenn ich aktualisiere, heißt es:
Befehl: Aktualisierungsfehler: Der vorherige Vorgang wurde nicht abgeschlossen. Führen Sie 'cleanup' aus, wenn es unterbrochen wurde. Fehler: Führen Sie den Befehl 'Cleanup' aus. Abgeschlossen!:
Wie kann ich das loswerden?
quelle
Antworten:
Ich war in ähnlichen Situationen. Haben Sie versucht, die Bereinigung im Stammverzeichnis Ihres Arbeitsbereichs auszuführen? Ich weiß, dass manchmal eine Bereinigung aus einem untergeordneten Verzeichnis (wo das Problem liegt) nicht funktioniert, und eine Bereinigung aus dem Stammverzeichnis des Arbeitsbereichs funktioniert nicht.
Wenn dies immer noch fehlschlägt, da Sie irgendwo ein untergeordnetes Verzeichnis gelöscht haben. Versuchen Sie, auch eine höhere Ebene aus dem untergeordneten Verzeichnis zu löschen (vorausgesetzt, dies ist nicht der Stammverzeichnis), und versuchen Sie erneut, die Aktualisierung und Bereinigung durchzuführen.
Wenn Bereinigungsversuche auf keiner Ebene erfolgreich sind, lautet die Antwort leider das Auschecken einer neuen Arbeitskopie.
quelle
Oft ist kein neuer Checkout oder Kopieren erforderlich.
Ich habe gerade ein ähnliches Problem im Zusammenhang mit dem Fehler "Vorheriger Vorgang wurde nicht abgeschlossen" mit Hilfe dieses ( Link ) gelöst.
Es scheint, dass svn manchmal bei der Verarbeitung von Befehlen / Operationen hängen bleibt. Alle diese Vorgänge werden in der Datenbankdatei wc.db im Ordner .svn gespeichert.
Durch Herunterladen von SQLite in mein Checkout-Verzeichnis und Ausführen
Sie können eine Liste aller ausstehenden Vorgänge abrufen. Diese Vorgänge werden vom Fehler als "nicht abgeschlossen" bezeichnet.
Durch Laufen
Alle alten Vorgänge werden aus der Arbeitswarteschlange gelöscht und der Fehler verschwindet. Keine Notwendigkeit für eine neue Kasse oder irgendetwas
quelle
Das Ausführen der Konsole
svn cleanup
hat das gleiche Problem für mich gelöst.quelle
svn cleanup
bietet außerdem detailliertere Informationen als die Verwendung des Tortoise Explorer-Plug-Ins, was ihn in solchen Situationen sehr nützlich macht.svn cleanup
svn cleanup
sicher, dass die Konsole erhöht ist. Ich habe das anfangs nicht gemacht und denred-write: Access is denied
Fehler bekommen.Ich hatte gerade ein ähnliches Problem. Das Ausführen von Process Explorer zeigte, dass ein anderes Programm (Notepad ++) ein Dateihandle für einen Ordner hatte, den SVN zu löschen versucht hatte. Als ich Notepad ++ schloss, konnte "Clean Up" erfolgreich ausgeführt werden.
quelle
Ich hatte dieses Problem, nachdem ich ein Glas hinzugefügt hatte, das sich bereits im SVN befindet, und die neue Version mit demselben Namen hinzugefügt hatte.
In Eclipse habe ich das versucht
Mit den obigen Schritten kann ich synchronisieren.
quelle
Ich hatte die am meisten abgestimmten Antworten hier und einige andere ohne Erfolg ausprobiert. Mein
WORK_QUEUE
Tisch war leer und ich konnte nicht versuchen, in einem höheren Ordner aufzuräumen. Was tat Arbeit die folgende (dies ist über Tortoise SVN) war;Break Locks
aktiviert ist, und klicken Sie auf OKDer Bereinigungsvorgang wird nun erfolgreich abgeschlossen und ich kann fortfahren. Kein Herunterladen von sqlite3 oder anderen komplizierten Lösungen erforderlich.
quelle
Der Versuch, die Bereinigung auszuführen, während Ihre Dateien geöffnet sind, gab mir Probleme. Sobald ich meine Anwendung (Visual Studio) geschlossen habe, habe ich aufgeräumt und es war erfolgreich
quelle
Ich benutze Schildkröte SVN. Wenn die Bereinigung fehlgeschlagen ist, aktivieren Sie die Bereinigungsoption
Stellen Sie sicher, dass die Option zum Sperren von Sperren aktiviert ist ist.
Bereinigungsschritt
Es hat bereits geantwortet, aber manchmal hilft das Bild
quelle
Ich habe das gleiche Problem, in meinem Fall habe ich SVN-Schildkröte mit der Anwendung verwendet, die ich meine. Mit der Cmd-Shell von Windows im Root-Modus habe ich die SVN-Bereinigung und dann das SVN-Update angewendet. Dann können Sie in den Anwendungsmodus zurückkehren und es wird perfekt funktionieren!
quelle
Ich habe versucht, den .svn-Ordner an einen anderen Speicherort zu entfernen und ihn wieder im selben Stammordner abzulegen. Nachdem ich versucht habe, den SVN zu aktualisieren, wurde er aktualisiert. Ich weiß nicht, wie genau es funktioniert hat.
quelle
Ich hatte das gleiche Problem und stellte irgendwie fest, 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.
quelle
In meinem Fall lief eine Schluckuhr, die die Probleme verursachte. Nach dem Stoppen konnte ich den Bereinigungsbefehl ausführen.
quelle
Hallo Leute, in meinen Fällen, nachdem ich Visual Studio geschlossen und erneut zu CleanUp versucht habe, hat es gute Zeit
quelle
Ich habe mich auch an das gleiche Problem gehalten, das ich versucht habe zu blasen:
1. Versuchen Sie, den mit svn verbundenen Prozess, dh TSVNCache.exe und TortoiseProc, abzubrechen. 2. Umkehren der nicht versionierten Dateien und Löschen derselben, die ich in svn habe. 3. Reinigung über die Eingabeaufforderung "svn cleanup"
und schließlich, als der Desktop neu gestartet wurde, funktionierte es für mich, also funktionierte der Neustart des Systems für mich
quelle
Löschen Sie den SVN aus dem Hauptordner und ersetzen Sie ihn durch eine andere brauchbare Kopie von elsewere.und aktualisieren Sie ihn anschließend. Der SVN-Ordner ist normalerweise ein versteckter Ordner. Stellen Sie daher sicher, dass Sie den Ordner einblenden, bevor Sie die obigen Schritte ausführen.
quelle
Problemumgehung, die bei mir funktioniert hat:
Fertig, aber ich kann nicht erklären, warum dies passiert. Wenn Sie die Dateien nicht entfernen, gibt der Bereinigungsbefehl an, dass er diese Dateien nicht lesen / schreiben kann.
quelle
Ich hatte das gleiche Problem, was für mich funktionierte:
quelle
Ich hatte einen Fehler wie "Die Dauerwelle der Datei '/Users/Code/UnitTest.cpp' kann nicht geändert werden: Keine solche Datei oder kein solches 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.
quelle
In meinem Fall trat der Fehler auf, wenn versucht wurde, innerhalb einer IDE ein Commit durchzuführen. Als ich das Commit derselben Verzeichnisse mit TortoiseSVN im Explorer ausführte, war die Operation erfolgreich.
quelle
Das ist mir bei der Verwendung von externen Geräten passiert und eines davon war korrupt. Ich musste in diesen Ordner gehen und eine Bereinigung durchführen. Dann funktionierte die Bereinigung für die gesamte Arbeitskopie.
Beispiel: Führen Sie mit external
^/widgets/foo common/foo-widget
zuerst eine Bereinigung des Ordners durchcommon/foo-widget
.quelle
Ich habe diesen Fehler heute behoben, als beim Versuch, einen Commit für SVN durchzuführen, ein Fehler auftrat. Der Fehler war echt, TortoiseSVN konnte nicht auf eine Datei zugreifen, die ich festschreiben wollte. Diese Datei wurde gespeichert, während ein Programm "Als Administrator" in Windows ausgeführt wurde. Dies bedeutet, dass die Datei über Administratorzugriff verfügt, jedoch nicht über mein Konto (TortoiseSVN wird als interaktiver Benutzer ausgeführt). Ich habe die nominierte Datei unter meinem Windows-Konto in Besitz genommen und konnte danach mit der Bereinigung fortfahren.
quelle
Ich hatte anfangs dieses Problem beim Versuch, mich bei TortoiseSVN anzumelden. Anfänglich schlugen sowohl die TortoiseSVN-Bereinigung als auch die Konsolen-SVN-Bereinigung mit ähnlichen Meldungen wie das Originalposter fehl.
Aber meine Lösung (aus Versehen herausgefunden) bestand darin, nur ein paar Minuten zu warten. Ich denke, TSVNCache hat einige dieser Dateien zum Zeitpunkt des Eincheckens festgehalten.
quelle
Befolgen Sie die folgenden Schritte.
1) Wechseln Sie in das Verzeichnis, über das Sie nicht erfolgreich bereinigen können
svn
(Stammordner oder untergeordneter Ordner).2) Wählen Sie
.svn
Ordner im Verzeichnis aus, schneiden Sie diesen Ordner aus und fügen Sie ihn in das separate Laufwerk oder den separaten Speicherort (außerhalb des SVN-Verzeichnisses) ein.3) Gehen Sie nun zurück zum 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. Das Problem sollte behoben sein.
quelle
In meinem Fall wurde eine Java Virtual Machine-Hintergrundinstanz ausgeführt, die die erfolgreiche Bereinigung beendet hat.
quelle
Ich hatte meinem Entwicklerkollegen den .svn-Ordner abgenommen und meinen .svn-Ordner durch diesen ersetzt. Es hat bei mir funktioniert. Ich weiß nicht, was andere Konsequenzen haben können!
quelle
Über diesen Link https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-cleanup.html
Ich habe festgestellt, dass im Tutorial die Top-6-Optionen überprüft wurden. In meiner Verzweiflung versuchte ich es mit diesen Kontrollkästchen, und zu meiner Überraschung funktionierte es. Lesen Sie sorgfältig durch, was jeder tut. Wenn man sich die Beschreibung der einzelnen Elemente ansah, schien es sicher, sie für mich aufzunehmen, sodass eines dieser überprüften Elemente das Problem behoben zu haben schien, das mich aufhielt.
quelle
Dies kann passieren, wenn noch Dateien geöffnet sind, 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. Durch das Wechseln zu einem anderen Zweig konnte die Datei nicht entfernt werden, wodurch der Wechsel fehlschlug. Dies verursachte auch die
svn cleanup
zum Fehlschlagen, wird jedoch nicht als Grund in der Schildkröten-SVN-Benutzeroberfläche angezeigt.Das Ausführen
svn cleanup
aus einem Konsolenfenster (im Stammordner) zeigt den Fehler deutlich anfile\location\file.ext: The process cannot access the file because it is being used by another process
Wenn Sie alle geöffneten Dateihandles / Fenster schließen und die Konsole
svn cleanup
ausführen, funktioniert die Bereinigung ordnungsgemäß.Lange Rede, kurzer Sinn - laufen Sie
svn cleanup
in der Konsole, um einen detaillierteren Fehler zu sehen.quelle
Neben der Antwort von Sigurd V (das sollten Sie zuerst versuchen) haben einige größere Codebasen mehrere ".svn" -Ordner, und es ist nicht unbedingt der im Stammverzeichnis, der die gesperrte Aufgabe hat.
Wenn dies der Fall ist, müssen Sie jeden einzelnen überprüfen. Wenn Sie bereits SQLite und Powershell haben, können Sie das fehlerhafte Verzeichnis schnell finden.
So finden Sie heraus, welche Ordner gesperrt sind: Ausführen (Ersetzen
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" } }
.Dies gibt eine Liste der .svn-Verzeichnisse und unter jedem eine Liste aller aktuellen Aufgaben.
Wenn es Aufgaben mit noch nicht abgeschlossenen Aufgaben gibt, für jeden einzelnen Lauf (Ersetzen
path\to\sqlite.exe
undpath\to\.svn\wc.db
):path\to\sqlite.exe path\to\.svn\wc.db "delete from work_queue"
quelle
Ich habe mehrere Probleme mit gesehen
svn
, einschließlich dieses, die durch Löschen / Erstellen eines.svn/tmp
Verzeichnisses gelöst wurden . Dann rennesvn cleanup
quelle
Bitte folgen Sie diesem Link. Es ist Ihr Problem vollständig zu lösen.
Gehen Sie zum Hauptverzeichnis mit der rechten Maustaste -> Tortoise SVN -> Aufräumen
https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-cleanup.html
quelle