Ich hatte das gleiche Problem. Der folgende Blog-Beitrag hat mir bei der Lösung geholfen:
http://www.polak.ro/svn-e200030-sqlite-database-disk-image-is-malformed.html
Sie führen eine Integritätsprüfung für die SQLite-Datenbank durch, die das Repository verfolgt (/.svn/wc.db):
sqlite3 .svn/wc.db "pragma integrity_check"
Das sollte einige Fehler melden.
Dann können Sie sie möglicherweise aufräumen, indem Sie Folgendes tun:
sqlite3 .svn/wc.db "reindex nodes"
sqlite3 .svn/wc.db "reindex pristine"
Wenn danach immer noch Fehler auftreten, haben Sie weiterhin die Möglichkeit, eine neue Kopie des Repositorys in einen temporären Ordner auszuchecken und den .svn-Ordner von der neuen Kopie in den alten zu kopieren. Dann sollte die alte Kopie wieder funktionieren und Sie können den temporären Ordner löschen.
Error: unable to identify the object to be reindexed
Integritätsprüfung
Aufräumen
Alternative
Möglicherweise können Sie den Inhalt der Datenbank, der in eine Sicherungsdatei eingelesen werden kann, sichern und dann wieder in eine neue Datenbankdatei schlürfen:
quelle
ROLLBACK;
inCOMMIT;
vor dem Doung der.read dump_all.sql
.svn: E235000: In file 'D:\Development\SVN\Releases\TortoiseSVN-1.9.7\ext\subversion\subversion\libsvn_wc\wc_db_wcroot.c' line 311: assertion failed (format >= 1)
, es gibt jedoch eine Problemumgehungsqlite3 .svn/wc.db 'PRAGMA user_version;'
die ursprüngliche Datenbank aus, um die richtige Nummer zu erhalten. 2. Führen Siesqlite3 .svn/wc.db 'PRAGMA user_version = XXX;'
die wiederhergestellte Version mit der richtigen Nummer aus.Die SVN-Bereinigung hat nicht funktioniert. Der SVN-Ordner auf meinem lokalen System wurde beschädigt. Also habe ich einfach den Ordner gelöscht, einen neuen neu erstellt und von SVN aktualisiert. Das hat das Problem gelöst!
quelle
Nach einem Stromausfall stieß ich auf einen fehlerhaften Fehler im Datenbankdatenträger-Image , und der vorgeschlagene Befehl zum erneuten Indizieren von Knoten behebte nicht alle Probleme aufgrund von verletzten Einschränkungen. Auch das unter http://mail-archives.apache.org/mod_mbox/subversion-users/201111.mbox/%[email protected]%3E beschriebene Verfahren das Problem nicht behoben.
Lösung in meinem Fall:
Dies kann nützlich sein, wenn Ihre ursprüngliche SVN-Kasse viele geänderte oder nicht konvertierte Dateien enthält und Sie nicht zu einer neuen SVN-Kasse wechseln möchten.
quelle
Ich habe über den .svn-Ordner aus dem Verzeichnis meines Peer Workers kopiert und das Problem wurde behoben.
quelle
das funktioniert bei mir!
quelle
Vielleicht könnte eine Lösung sein:
Stellen Sie jetzt erneut eine Verbindung her:
repositorie
: meineSVN
(anderer Fall: Git, etc)repositorie
OrdnerHinweis:
In meinem Fall habe ich eine Sicherungskopie meiner Dateien erstellt. (sicher zurück: P)
Bearbeiten:
Ich spreche über
SVN
Plugin aufEclipse
:)quelle
Hast du diesen Beitrag auf der Subversion-Site gesehen? Sie können möglicherweise auch versuchen, die Datenbank direkt zu validieren und zu "reparieren", wie hier beschrieben . (Beachten Sie, dass ich kein Experte bin. Ich habe nur eine schnelle Google-Suche durchgeführt. Möglicherweise hängt das überhaupt nicht mit Ihren Problemen zusammen.)
Persönlich würde ich versuchen, das Repo erneut zu überprüfen und Ihre Änderungen erneut zu übernehmen. Sie sind sich nicht sicher, ob dies in Ihrem Fall möglich ist?
quelle
Während meiner Forschungen habe ich zwei praktikable Lösungen gefunden.
Wenn Sie irgendeine Art von Verbindung verwenden, ssh, samba, mount, trennen / unmounten und wieder verbinden / wieder montieren. Versuchen Sie es noch einmal, dies hat das Problem für mich oft gelöst. Danach können Sie die SVN-Bereinigung durchführen oder einfach normal weiterarbeiten (je nachdem, wann das Problem aufgetreten ist). Ein Neustart meines Computers hat das Problem auch einmal behoben ... ja, ich weiß, es ist dumm!
Manchmal müssen Sie nur Ihre Dateien rm -rf (oder wenn Sie mit dem Begriff nicht vertraut sind, löschen Sie einfach Ihren svn-Ordner) und überprüfen Sie Ihr svn-Repository erneut. Bitte beachten Sie, dass dies das Problem nicht immer löst und Sie möglicherweise auch Änderungen haben, die Sie nicht verlieren möchten. Deshalb benutze ich es als zweite Option.
Hoffe das hilft euch!
quelle
Ich habe mein Problem der Beschädigung des visuellen SVN-Servers rep-cache.db gelöst.
Es gibt zwei Lösungen.
Beenden Sie den Visual SVN Server-Dienst.
Laden Sie die sqllite3.exe-Shell von der sqllite-Website herunter und kopieren Sie sie in den Datenbankordner von repo.
Geben Sie die folgenden Befehle an der Eingabeaufforderung in den Datenbankordner des Repos ein.
- Erste Lösung -
Drücken Sie Strg + C, um sqllite zu beenden.
- 2. Lösung -
Löschen Die Datei rep-cache.db
es wird automatisch erstellt.
quelle
Ich habe dies für eine Instanz behoben, die mir passiert ist, indem ich den versteckten .svn-Ordner gelöscht und dann eine Überprüfung des Ordners unter derselben URL durchgeführt habe.
Dadurch wurden keine meiner geänderten Dateien überschrieben und nur alle vorhandenen Dateien versioniert, anstatt neue Kopien vom Server abzurufen.
quelle
Verschwenden Sie keine Zeit damit,
checking integrity
Daten aus derwork queue
Tabelle zu löschen, da dies vorübergehende Lösungen sind und Sie nach einer Weile zurückschlagen werden.checkout
Machen Sie einfach einen anderen und ersetzen Sie den vorhandenen .svn-Ordner durch den neuen. Mach einupdate
und dann sollte es glatt gehen.quelle
Wenn Sie den Tortoise SVN installieren, gehen Sie zum Task-Manager und beenden Sie ihn. Versuchen Sie dann, den Ordner zu löschen. es wird klappen
quelle
Die markierte Antwort könnte laut Subversion-Bereinigung die richtige sein. Aber der Fehler ist definitiv ein allgemeiner, der mich hierher geführt hat, diese Fragenseite.
Unser Projekt hat die Abhängigkeit System.Data.SQLite und die Fehlermeldung war dieselbe:
In meinem Fall habe ich das folgende Überprüfungsskript und die folgenden Schritte über SQLiteStudio 3.1.1 ausgeführt .
(Ich habe keine Ahnung, ob diese Statistiken helfen würden, aber ich werde sie trotzdem teilen ...)
Die Datenbankdatei wird 1,5 Jahre lang im täglichen Gebrauch über den Verbindungsjournalmodus im Speicher verwendet und war etwa 750 MB groß. Es gab ungefähr 140.000 Datensätze pro Tabelle und 6 Tabellen waren so groß.
Nach der Ausführung des Integrity Check- Skripts wurden nach 30 Minuten Ausführungszeit 11 Zeilen zurückgegeben.
Alle Ergebnisse betrafen die Indizes. Nach der Neuerstellung der einzelnen Indizes wurde mein Problem behoben.
Nach der erneuten Indizierung ergab die Integritätsprüfung "OK".
Ich habe diesen Fehler letztes Jahr erhalten und die Datenbank aus dem Backup wiederhergestellt und dann alle Änderungen erneut festgeschrieben, was ein wahrer Albtraum war ...
Ich hoffe, diese Antwort hilft irgendwie.
quelle
Keine Notwendigkeit, sich um eine Verzeichnissperre zu kümmern.
Sie müssen lediglich Folgendes tun: Wenn sqllite3 nicht installiert ist, geben Sie den folgenden Befehl ein:
Öffnen Sie die SVN-Datenbank, indem Sie diesen Befehl eingeben.
Jetzt müssen Sie nur noch Sperreneinträge aus der SVN-Datenbank entfernen.
Prozess abgeschlossen. Sie können an Ihrem SVN-Repository arbeiten, Vorgänge ohne Probleme festschreiben, aktualisieren, hinzufügen und entfernen.
:-)
quelle
Während der App-Entwicklung stellte ich fest, dass die Nachrichten von den häufigen und massiven INSERT- und UPDATE-Operationen stammen. Stellen Sie sicher, dass Sie mehrere Zeilen oder Daten in einem einzigen Vorgang einfügen und aktualisieren.
quelle
CD in Ordner mit .svn
quelle