Próbowałem zrobić, svn cleanup
ponieważ nie mogę zatwierdzić zmian w mojej kopii roboczej i otrzymałem następujący błąd:
sqllite: obraz dysku bazy danych jest uszkodzony
Co mogę teraz zrobić?
źródło
Próbowałem zrobić, svn cleanup
ponieważ nie mogę zatwierdzić zmian w mojej kopii roboczej i otrzymałem następujący błąd:
sqllite: obraz dysku bazy danych jest uszkodzony
Co mogę teraz zrobić?
Miałem ten sam problem. Poniższy wpis na blogu pomógł mi rozwiązać ten problem: http://www.polak.ro/svn-e200030-sqlite-database-disk-image-is-malformed.html
Sprawdzasz integralność bazy danych sqlite, która śledzi repozytorium (/.svn/wc.db):
sqlite3 .svn/wc.db "pragma integrity_check"
To powinno zgłosić pewne błędy.
Następnie możesz je wyczyścić, wykonując:
sqlite3 .svn/wc.db "reindex nodes"
sqlite3 .svn/wc.db "reindex pristine"
Jeśli po tym nadal występują błędy, nadal masz możliwość pobrania świeżej kopii repozytorium do folderu tymczasowego i skopiowania folderu .svn ze świeżej kopii do starej. Następnie stara kopia powinna znów działać i możesz usunąć folder tymczasowy.
Error: unable to identify the object to be reindexed
Sprawdzanie integralności
sqlite3 .svn/wc.db "pragma integrity_check"
Sprzątać
Alternatywnie
Możesz być w stanie zrzucić zawartość bazy danych, którą można odczytać do pliku kopii zapasowej, a następnie przelać ją z powrotem do nowego pliku bazy danych:
sqlite3 .svn/wc.db sqlite> .mode insert sqlite> .output dump_all.sql sqlite> .dump sqlite> .exit mv .svn/wc.db .svn/wc-corrupt.db sqlite3 .svn/wc.db sqlite> .read dump_all.sql sqlite> .exit
źródło
ROLLBACK;
naCOMMIT;
przed doung.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)
, jednak istnieje obejście tutaj: hanscarpenter.blogspot.com.au/2016/05/…sqlite3 .svn/wc.db 'PRAGMA user_version;'
względem oryginalnej bazy danych, aby uzyskać poprawną liczbę. 2. działaćsqlite3 .svn/wc.db 'PRAGMA user_version = XXX;'
przeciwko przywróconej wersji z poprawnym numerem.Czyszczenie SVN nie zadziałało. Folder SVN w moim systemie lokalnym został uszkodzony. Dlatego właśnie usunąłem folder, odtworzyłem nowy i zaktualizowałem z SVN. To rozwiązało problem!
źródło
Po zaniku zasilania natknąłem się na obraz dysku bazy danych, który jest źle sformułowany, a sugerowane polecenie ponownego zindeksowania węzłów nie rozwiązało wszystkich problemów z powodu naruszonych ograniczeń. Również procedura opisana w http://mail-archives.apache.org/mod_mbox/subversion-users/201111.mbox/%[email protected]%3E nie rozwiązała problemu.
Rozwiązanie w moim przypadku:
Może to być przydatne, jeśli oryginalne pobranie svn zawiera wiele zmodyfikowanych lub niewersjonowanych plików i nie chcesz przełączać się do nowego pobrania svn.
źródło
Skopiowałem folder .svn z katalogu mojego współpracownika i to rozwiązało problem.
źródło
to działa dla mnie!
źródło
Może mogłoby być rozwiązaniem:
Teraz połącz ponownie:
repositorie
: mójSVN
(inny przypadek: git itp.)repositorie
folderUwaga:
W moim przypadku wykonałem kopię zapasową moich plików. (bezpieczne plecy: P)
Edytować:
Mowa o
SVN
wtyczce naEclipse
:)źródło
Widziałeś ten post na stronie Subversion? Możesz także potencjalnie spróbować sprawdzić poprawność i „naprawić” bazę danych bezpośrednio, jak opisano tutaj . (Pamiętaj, że nie jestem ekspertem, właśnie przeprowadziłem szybkie wyszukiwanie w Google. Może w ogóle nie mieć związku z Twoimi problemami).
Osobiście spróbuję ponownie sprawdzić repozytorium i ponownie zastosować zmiany. Nie jesteś pewien, czy jest to możliwe w Twoim przypadku?
źródło
W trakcie moich badań znalazłem 2 realne rozwiązania.
Jeśli używasz dowolnego typu połączeń, ssh, samba, montowanie, odłączanie / odmontowywanie i ponowne podłączanie / ponowne podłączanie. Spróbuj ponownie, to często rozwiązało problem. Następnie możesz wyczyścić svn lub po prostu kontynuować normalną pracę (w zależności od tego, kiedy pojawił się problem). Ponowne uruchomienie komputera również rozwiązało problem raz ... tak, to głupie, wiem!
Czasami wszystko, co jest do zrobienia, to rm -rf plików (lub jeśli nie znasz tego terminu, po prostu usuń folder svn) i ponownie sprawdź repozytorium svn. Pamiętaj, że nie zawsze to rozwiązuje problem, a także możesz mieć zmiany, których nie chcesz utracić. Dlatego używam go jako drugiej opcji.
Mam nadzieję, że to wam pomoże!
źródło
Rozwiązałem problem z uszkodzeniem rep-cache.db serwera Visual SVN.
Są dwa rozwiązania.
Zatrzymaj usługę Visual SVN Server.
Pobierz powłokę sqllite3.exe z witryny sqllite i skopiuj ją do folderu db repozytorium.
Wpisz następujące polecenia w wierszu polecenia w folderze db repozytorium.
- Pierwsze rozwiązanie -
sqlite3 rep-cache.db .clone rep-cache-new.db
naciśnij ctrl + c, aby wyjść z sqllite.
ren rep-cache.db rep-cache-old.db ren re-cache-new.db rep-cache.db
- Drugie rozwiązanie -
Usuń plik rep-cache.db
zostanie utworzony automatycznie.
źródło
Naprawiłem to na przykład, gdy mi się to przytrafiło, usuwając ukryty folder .svn, a następnie wyewidencjonowując folder pod tym samym adresem URL.
To nie nadpisało żadnego z moich zmodyfikowanych plików i po prostu zaktualizowało wszystkie istniejące pliki, zamiast pobierać świeże kopie z serwera.
źródło
Nie trać czasu na
checking integrity
usuwanie danych zwork queue
tabeli, ponieważ są to rozwiązania tymczasowe i po pewnym czasie Cię to odwróci.Po prostu zrób coś innego
checkout
i zastąp istniejący folder .svn nowym. Zróbupdate
i wtedy wszystko powinno pójść gładko.źródło
Jeśli zainstalujesz SVN Tortoise, przejdź do menedżera zadań i zatrzymaj go. Następnie spróbuj usunąć folder. to będzie działać
źródło
Zaznaczona odpowiedź może być poprawna, zgodnie z porządkowaniem subversion. Ale błąd jest zdecydowanie ogólny, który doprowadził mnie tutaj, ta strona z pytaniami.
Nasz projekt ma zależność System.Data.SQLite i komunikat o błędzie był taki sam:
W moim przypadku wykonałem następujący skrypt kontrolny i następujące za pośrednictwem SQLiteStudio 3.1.1 .
pragma integrity_check
(Nie mam pojęcia, czy te statystyki pomogłyby, ale i tak się nimi podzielę ...)
Plik DataBase jest używany codziennie przez 1,5 roku w trybie dziennika połączeń w pamięci i miał około 750 MB. W tabeli było około 140 000 rekordów, a 6 tabel było tak dużych.
Po wykonaniu skryptu sprawdzania integralności 11 wierszy zostało zwróconych po 30 minutach wykonywania.
wrong # of entries in index sqlite_autoindex_MyTableName_1 wrong # of entries in index MyOtherTableAndOrIndexName_1 wrong # of entries in index sqlite_autoindex_MyOtherTableAndOrIndexName_2 etc...
Wszystkie wyniki dotyczyły indeksów. Po ponownym zbudowaniu każdego indeksu mój problem został rozwiązany.
Po ponownym zindeksowaniu sprawdzenie integralności zakończyło się „OK”.
Mam ten błąd w zeszłym roku i przywrócono mi DB z kopii zapasowej, a następnie ponownie wprowadziłem wszystkie zmiany, co było prawdziwym koszmarem ...
źródło
nie musisz się martwić o facetów z blokadą katalogów.
Wystarczy, że jeśli sqllite3 nie jest zainstalowany, wpisz poniższe polecenie,
>sudo apt-get install sqlite3
Otwórz bazę danych SVN, wpisując to polecenie,
Teraz musisz tylko usunąć wpisy locks z SVN DB.
Proces zakończony. Możesz pracować na swoim repozytorium SVN, zatwierdzać, aktualizować, dodawać, usuwać operacje bez problemu.
:-)
źródło
Podczas tworzenia aplikacji odkryłem, że komunikaty pochodzą z częstych i masowych operacji INSERT i UPDATE. Pamiętaj, aby WSTAWIĆ i AKTUALIZOWAĆ wiele wierszy lub danych w jednej operacji.
var updateStatementString : String! = "" for item in cardids { let newstring = "UPDATE "+TABLE_NAME+" SET pendingImages = '\(pendingImage)\' WHERE cardId = '\(item)\';" updateStatementString.append(newstring) } print(updateStatementString) let results = dbManager.sharedInstance.update(updateStatementString: updateStatementString) return Int64(results)
źródło
cd do folderu zawierającego .svn
rm -rf .svn svn co http://mon.svn/mondepot/ . --force
źródło