Jeśli spróbuję zaktualizować moje repozytorium subversion, to znaczy, że muszę uruchomić czyszczenie. Jeśli uruchomię czyszczenie, oznacza to brak pliku. (Usunąłem MASYWNY katalog plików, których nie udało się dziś rano zatwierdzić z mojego domowego komputera, ale potem zatwierdzam ten sam zestaw plików z pracy, a teraz moje domowe repozytorium jest zepsute). Więc cleanup mówi:
Nie można przetworzyć czyszczenia blablabla Nie można ustawić pliku blablabla odczyt-zapis: System nie może odnaleźć określonego pliku.
Jeśli zaktualizuję, powie:
Polecenie: Błąd aktualizacji: poprzednia operacja nie została zakończona; uruchom „czyszczenie”, jeśli zostało przerwane Błąd: Wykonaj polecenie „Oczyść”. Zakończony!:
Jak mogę to odblokować?
svn
tortoisesvn
coderama
źródło
źródło
Odpowiedzi:
Byłem w podobnych sytuacjach. Czy próbowałeś uruchomić czyszczenie z katalogu głównego swojego obszaru roboczego? Wiem, że czasami czyszczenie z katalogu potomnego (gdzie leży problem) nie działa, a czyszczenie z katalogu głównego obszaru roboczego działa.
Jeśli to nadal się nie powiedzie, skoro skasowałeś gdzieś katalog dziecięcy. Spróbuj również usunąć 1 poziom wyżej z katalogu potomnego (zakładając, że nie jest to katalog główny), a następnie ponów próbę aktualizacji i czyszczenia.
Jeśli próby czyszczenia nie powiodą się na żadnym poziomie, odpowiedzią jest niestety pobranie nowej kopii roboczej.
źródło
Często nie ma potrzeby nowej kasy lub kopiowania.
Właśnie rozwiązałem podobny problem związany z błędem „poprzednia operacja nie została zakończona” z pomocą tego ( Link )
Wygląda na to, że svn czasami zacina się podczas przetwarzania poleceń / operacji. Wszystkie te operacje są przechowywane w pliku bazy danych wc.db w folderze .svn.
Pobierając SQLite do mojego katalogu zakupów i uruchamiając
możesz uzyskać listę wszystkich oczekujących operacji. Te operacje nazywają błędem „niedokończone”.
Biegiem
wszystkie stare operacje są usuwane z kolejki roboczej, a błąd znika. Nie potrzebujesz nowej kasy ani nic takiego
źródło
Uruchamianie konsoli
svn cleanup
rozwiązało dla mnie ten sam problem.źródło
svn cleanup
dostarczy także bardziej szczegółowych informacji niż użycie wtyczki Tortoise Explorer, co czyni ją bardzo przydatną w takich sytuacjach.svn cleanup
,svn cleanup
upewnij się, że konsola jest podniesiona. Nie zrobiłem tego początkowo i dostałemred-write: Access is denied
błąd.Właśnie miałem podobny problem. Uruchomienie Process Explorer pokazało, że inny program (Notepad ++) miał uchwyt pliku do folderu, który SVN próbował usunąć. Kiedy zamknąłem Notepad ++, „Clean Up” mógł działać poprawnie.
źródło
Napotkałem ten problem po dodaniu słoika, który jest już w SVN i dodałem nową wersję o tej samej nazwie.
W Eclipse próbowałem tego
Korzystając z powyższych kroków, mogę przeprowadzić synchronizację.
źródło
Próbowałem tutaj najczęściej głosowanych odpowiedzi i kilku innych bezskutecznie. Mój
WORK_QUEUE
stół był pusty i nie mogłem spróbować wyczyścić wyższego folderu. Co zrobił praca była następująca (to poprzez tortoisesvn);Break Locks
jest zaznaczona i kliknij OKOperacja czyszczenia zakończyła się pomyślnie i mogę kontynuować. Nie jest wymagane pobieranie sqlite3 ani innych skomplikowanych rozwiązań.
źródło
Próba uruchomienia czyszczenia, gdy twoje pliki są otwarte, sprawiła mi problemy. jak tylko zamknąłem aplikację (Visual studio), przeprowadziłem czyszczenie i zakończyło się to sukcesem
źródło
Używam żółwia SVN. Jeśli czyszczenie się nie powiedzie, zaznacz opcję czyszczenia
Upewnij się, że opcja Break Locks jest zaznaczona.
Krok czyszczenia
To już odpowiedział, ale czasami obraz pomaga
źródło
Mam ten sam problem, w moim przypadku użyłem żółwia svn z aplikacją, którą mam na myśli. Korzystając z powłoki cmd systemu Windows w trybie root, zastosowałem czyszczenie svn, a następnie aktualizację svn .... Potem możesz wrócić do trybu aplikacji i będzie działał idealnie!
źródło
Próbowałem usunąć folder .svn w inne miejsce i umieściłem go z powrotem w tym samym folderze głównym. Po tym, jak próbowałem zaktualizować SVN, został zaktualizowany. Nie wiem jak to dokładnie działało.
źródło
Miałem ten sam problem i jakoś odkryłem, że mam ukryty plik .svn na poziomie c: \. Po usunięciu tego ukrytego folderu (.svn) wszystko działało dobrze. Musiałem przypadkowo utworzyć katalog roboczy na dysku głównym.
źródło
W moim przypadku miałem problemy z uruchomieniem zegarka. Po zatrzymaniu mogłem wykonać polecenie Oczyść.
źródło
cześć chłopaki w moich przypadkach po zamknięciu programu Visual Studio i ponownym uruchomieniu programu CleanUp działa dobrze
źródło
Utknąłem również z tym samym problemem, który próbowałem wydmuchać:
1. Spróbuj zabić proces związany z svn tj. TSVNCache.exe i TortoiseProc 2. Odwracanie niewersjonowanych plików i usunięcie tego samego, które mam w svn. 3. czyszczenie za pomocą wiersza polecenia „czyszczenie svn”
i wreszcie po ponownym uruchomieniu pulpitu działało to dla mnie, więc dla ponownego uruchomienia systemu działało dla mnie
źródło
usuń svn z folderu głównego i zastąp go inną żywotną kopią, którą masz z elsewere.i następnie zaktualizuj. Folder svn będzie zwykle folderem ukrytym. Upewnij się więc, aby odkryć folder przed wykonaniem powyższych kroków.
źródło
Obejście, które zadziałało dla mnie:
Zrobione, ale nie mogę wyjaśnić, dlaczego tak się dzieje. Jeśli nie usuniesz plików, polecenie czyszczenia powie, że nie może odczytać / zapisać tych plików.
źródło
Miałem ten sam problem, co działało dla mnie:
źródło
Wystąpił błąd typu „Nie można zmienić uprawnień pliku” /Users/Code/UnitTest.cpp ”: Brak takiego pliku lub katalogu”. Subversion myli się z plikiem, którego już nie ma. Po prostu zrobiłem coś w stylu „echo ABCD >> /Users/Code/UnitTest.cpp”, aby utworzyć kopię pliku, a następnie oczyścić. Zadziałało.
źródło
W moim przypadku błąd pojawił się podczas próby zatwierdzenia z poziomu IDE. Kiedy wykonałem zatwierdzenie tych samych katalogów za pomocą TortoiseSVN w eksploratorze, operacja się powiodła.
źródło
Stało się to dla mnie, gdy korzystałem z zewnętrznych, a jeden z nich był uszkodzony. Musiałem przejść do tego folderu i wykonać czyszczenie. Następnie czyszczenie działało dla całej kopii roboczej.
Przykład: używając zewnętrznego
^/widgets/foo common/foo-widget
, najpierw wyczyść foldercommon/foo-widget
.źródło
Rozwiązałem ten błąd dzisiaj, gdy wystąpił podczas próby zatwierdzenia do SVN. Błąd był prawdziwy, TortoiseSVN nie mógł uzyskać dostępu do pliku, który próbowałem zatwierdzić. Ten plik został zapisany podczas działania programu „Jako administrator” w systemie Windows. Oznacza to, że plik ma dostęp administratora, ale nie ma dostępu z mojego konta (TortoiseSVN działa jako użytkownik interaktywny). Przejęłem na własność nominowany plik pod moim kontem Windows, a następnie czyszczenie było w stanie kontynuować.
źródło
Początkowo mam ten problem podczas próby zalogowania się za pomocą TortoiseSVN. Początkowo zarówno czyszczenie TortoiseSVN, jak i czyszczenie svn konsoli zakończyły się niepowodzeniem z podobnymi komunikatami jak oryginalny plakat.
Ale moim rozwiązaniem (dowiedzionym przypadkowo) było tylko poczekanie kilku minut. Myślę, że TSVNCache trzymał niektóre z tych plików podczas odprawy.
źródło
wykonaj poniższe kroki.
1) Przejdź do katalogu, w którym nie można skutecznie wyczyścić za pomocą
svn
. (Folder główny lub folder podrzędny).2) Wybierz
.svn
folder w katalogu, wytnij ten folder i wklej go na osobnym dysku lub w osobnej lokalizacji (poza katalogiem svn)3) Teraz wróć do katalogu - kliknij prawym przyciskiem myszy i wybierz
TortoiseSVN -->Repo-browser
4)
Checkout
folder (nie wykona nowej transakcji).5) Wszystkie twoje przedmioty zostaną ponownie zaktualizowane i naprawi to wewnętrzny problem SVN, a problem powinien zostać rozwiązany.
źródło
W moim przypadku działała instancja wirtualnej maszyny wirtualnej Java w tle, zabijając, które czyszczenie zakończyło się powodzeniem.
źródło
Wziąłem folder .svn od mojego programisty i zastąpiłem go folderem .svn. To zadziałało dla mnie. Nie wiem, jakie mogą być inne konsekwencje!
źródło
Za pomocą tego linku https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-cleanup.html
Zauważyłem, że w samouczku zaznaczono 6 najlepszych opcji. W desperacji spróbowałem użyć tych pól wyboru i ku mojemu zaskoczeniu zadziałało. Przeczytaj uważnie, co każdy z nich robi. Patrząc na opis każdego z nich, wydawało mi się, że można je bezpiecznie dołączyć, więc jeden z tych sprawdzonych elementów najwyraźniej rozwiązał problem, który mnie powstrzymywał.
źródło
Może się to zdarzyć, gdy pliki są nadal otwarte podczas próby przełączenia / czyszczenia SVN.
Miałem oddział, w którym utworzyłem nowy plik, który otworzyłem w innej aplikacji. Przełączenie do innej gałęzi nie mogło usunąć pliku, co spowodowało awarię przełącznika. Powodowało to również
svn cleanup
awarię, jednak nie jest to wyświetlane jako przyczyna w interfejsie użytkownika Tortoise SVN.Uruchomienie
svn cleanup
z okna konsoli (w folderze głównym) wyraźnie pokazuje błądfile\location\file.ext: The process cannot access the file because it is being used by another process
Zamknięcie wszystkich otwartych uchwytów plików / okien i uruchomienie konsoli
svn cleanup
umożliwia prawidłowe działanie czyszczenia.Krótka historia - uruchom
svn cleanup
konsolę, aby zobaczyć bardziej szczegółowy błąd.źródło
Oprócz odpowiedzi Sigurda V (powinieneś spróbować najpierw), niektóre większe bazy kodu mają wiele folderów „.svn” i niekoniecznie ten w katalogu głównym, który ma zablokowane zadanie.
W takim przypadku musisz sprawdzić każdy z nich. Jeśli masz już SQLite i PowerShell, możesz szybko zlokalizować niepoprawny katalog.
Aby sprawdzić, które foldery są zablokowane, uruchom (zamieniając
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" } }
.Daje to listę katalogów .svn, a poniżej każdego z nich listę bieżących zadań.
Jeśli są jakieś z niedokończonymi zadaniami, dla każdego uruchomienia (zastępowanie
path\to\sqlite.exe
ipath\to\.svn\wc.db
):path\to\sqlite.exe path\to\.svn\wc.db "delete from work_queue"
źródło
Widziałem kilka problemów
svn
, w tym ten, rozwiązanych przez usunięcie / utworzenie.svn/tmp
katalogu. Następnie uruchomićsvn cleanup
źródło
Kliknij ten link. Całkowicie rozwiąż swój problem.
Przejdź do głównego katalogu prawym przyciskiem myszy -> Tortoise SVN -> Oczyść
https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-cleanup.html
źródło