Folder jest zablokowany i nie mogę go odblokować

108

Kiedy próbuję zaktualizować lub zatwierdzić kod z projektu, informuje mnie, że folder jest zablokowany. Kiedy próbuję zwolnić blokadę, pojawia się informacja, że ​​w tej przestrzeni roboczej nie ma nic do odblokowania.

Co to znaczy? Dlaczego nie mogę zaktualizować, zatwierdzić ani nawet wyczyścić projektu.

Iyad Al aqel
źródło
Której wersji svn używasz?
Chriseyre2000
Assembla dla repozytorium, Tourtise SVN 1.7
Iyad Al aqel
Czy masz folder .svn w każdym katalogu, czy tylko w katalogu głównym?
Chriseyre2000
Czy próbowałeś ponownie sprawdzić projekt w osobnej kopii roboczej?
Bernard
Tak, działa, jeśli sprawdzę go w innym folderze, ale baza danych się nie otwiera
Iyad Al aqel

Odpowiedzi:

161

Kliknij prawym przyciskiem myszy folder katalogu roboczego Subversion i wybierz TortoiseSVN-> Oczyść z menu kontekstowego. Spowoduje to powtórne przejrzenie katalogu roboczego i wyczyszczenie wszelkich niekompletnych działań, usunięcie lokalnych blokad (co różni się od blokowania pliku w repozytorium przez Subversion, dzięki czemu wszyscy wiedzą o blokadzie).

Jeśli to nie zadziała, sprawdź, czy możesz znaleźć nazwy plików, które zostały zmienione, ale jeszcze nie zatwierdzone, zapisz je i powtórz wypisanie.

David W.
źródło
28
Miałem ten problem i czyszczenie nie działało (nie udało się wyczyścić z powodu lokalnych blokad), ale przejście do folderu nadrzędnego (który również był pod kontrolą wersji) i wykonanie tam czyszczenia rozwiązało problem.
Malvineous
2
Możesz zerwać lokalne blokady, zaznaczając Break locksopcję.
aagjalpankaj
1
Komentarz @Malvineous jest cenny. Powinien opublikować to jako odpowiedź.
Lazy Ninja
16

Jeśli plik został zablokowany przez Ciebie (to samo konto svn), możesz wykonać następujące kroki:

Kliknij prawym przyciskiem myszy zablokowany plik lub folder i wybierz TortoiseSVN-> Uzyskaj blokadę ... i zaznacz „ [] Kradnij blokady ” w lewym dolnym rogu okna dialogowego, kliknij „OK”. Jeśli zakończy się pomyślnie, nic nie szkodzi. Kiedy ponownie klikniesz plik prawym przyciskiem myszy, zobaczysz TortoiseSVN-> Zwolnij blokadę ... , kliknij, aby odblokować.

cuixiping
źródło
12

Używając wiersza poleceń svn do odblokowania folderów lokalnych, po prostu użyj svn cleanup.

Przed:

# svn commit -m "fixing #1234"

popełnić

# svn st

przed

# svn cleanup

Po:

# svn st

po

# svn commit -m "fixing #1234"

after2

Sebas
źródło
10

Dla każdego, kto nadal ma ten problem ( Błąd: kopia robocza „{DIR}” jest zablokowana ), mam rozwiązanie:

Zauważyłem, że kiedy jedno z okien TortoiseSVN się zawiesza, pozostawia TSVNCache.exe, który wciąż ma kilka uchwytów do kopii roboczej i powoduje problemy z blokadą, które widzicie (a także uniemożliwia czyszczenie).

Aby rozwiązać ten problem:

Zarówno

1a) Użyj Process Explorer lub podobnego, aby usunąć uchwyty należące do TSVNCache.exe

1b) .. Lub jeszcze łatwiej, po prostu użyj Menedżera zadań, aby zabić TSVNCache.exe

Następnie

2) Kliknij prawym przyciskiem myszy -> TortoiseSVN -> Oczyść. Wystarczy sprawdzić „Stan czyszczenia kopii roboczej”.

Stamtąd życzymy miłej aktualizacji / zobowiązania. Możesz odtworzyć zachowanie blokady, wykonując aktualizację SVN, a następnie szybko kończąc proces TortoiseProc.exe przed zakończeniem aktualizacji.

Jonathon J Howey
źródło
8

To był pierwszy raz, kiedy miałem ten problem. Próbowałem nawet ponownie uruchomić komputer bez efektu. To rozwiązuje mój problem:

Rozwiązanie dla mnie:

  1. Kliknij prawym przyciskiem myszy katalog roboczy projektu.
  2. Nawiguj po TortoiseSVN .
  3. Przejdź do czyszczenia .
  4. Pozostaw wszystkie domyślne opcje i zaznacz opcję Break Locks
  5. Kliknij OK

To działa dla mnie. Udało mi się wprowadzić zmiany.

WilliamK
źródło
1
Zaznaczenie pola wyboru Break Locks rozwiązuje mój problem.
Banketeshvar Narayan
To doskonała odpowiedź, której szukałem. Dzięki za tonę
vamshi krishna kurella
To powinna być prawidłowa odpowiedź. Praktyczne, łatwe i do rzeczy!
Oana-Elena Danescu
3

Aby odblokować plik w kopii roboczej z wiersza poleceń, który jest aktualnie zablokowany przez innego użytkownika, użyj --forceopcji.

$ svn unlock --force tree.jpg

manav mn
źródło
A jeśli chcę odblokować katalog?
IgorGanapolsky
@IgorGanapolsky Podaj nazwę katalogu zamiast nazwy pliku w powyższym poleceniu
manav mn
@IgorGanapolsky jaki komunikat o błędzie otrzymujesz. Niech sprawdzę
Manav MN
Węzeł nie jest plikiem !
IgorGanapolsky
3

Miałem ten problem i wykonałem poniższe kroki, aby go rozwiązać:

  1. Przejdź do folderu nadrzędnego zamiast do folderu podrzędnego
  2. Wybierz czyszczenie SVN
  3. Kliknij OK.

Wykonaj ten krok w folderze nadrzędnym zamiast w folderze podrzędnym!

U mnie zadziałało!

Achilesz
źródło
1

Przenosiłem folder o jeden poziom w górę do innego folderu. Mój błąd polegał na przeniesieniu z folderu nadrzędnego.

Zły przykład:

pwd -> C:\Repo\ParentDir\
svn move ./DirtoCopy ../AnotherDir

SVN musi zaktualizować katalog nadrzędny o informacje o usuniętych folderach.
Musisz to zrobić ze wspólnego katalogu źródłowego i docelowego folderów lub użyć pełnych ścieżek.

Dobry przykład:

svn move C:\Repo\ParentDir\DirtoCopy C:\Repo\NewLocation
rasky74
źródło
1

Miałem ten problem, w którym nie mogłem odblokować pliku po stronie klienta. Zdecydowałem się przejść na stronę oderwaną, która była znacznie prostsza.

Na serwerze SVN:

Zlokalizuj zamki

 svnadmin lslocks /root/of/repo
 (in my case it was var/www/svn/[name of Company])

 You can add a specific path to this by svnadmin lslocks /root/of/repo "path/to/file"

Usuń blokadę

 svnadmin rmlocks /root/of/repo “path/to/file” 

Otóż ​​to!

Stacker
źródło
0

Rozwiązanie :

  1. Kliknij prawym przyciskiem myszy katalog roboczy projektu.
  2. Nawiguj po TortoiseSVN.
  3. Przejdź do czyszczenia.
  4. Wybierz Wyczyść stan kopii roboczej (zaznacz zaznaczenie)
  5. Kliknij OK
  6. Powtórz kroki 1 i 2, a następnie przejdź do zwolnienia blokady.
  7. Kliknij OK Twoja blokada projektu zostanie otwarta.
Vinayak
źródło
0

Oprócz odpowiedzi Davida M, podczas porządkowania -> zaznacz opcję „zerwij blokady”. Zapewni to zwolnienie blokad. Następnie wykonaj aktualizację svn. To zadziałało dla mnie.

Vinnu
źródło
0

Aby odblokować zablokowany dokument: 1. Kliknij prawym przyciskiem myszy -> Zablokuj 2. Zaznacz pole wyboru „Wykradnij blokady” 2. Zwolnij blokadę

user7257040
źródło
0

Dużo badam ten problem, ale żadne rozwiązanie nie rozwiązuje mojego problemu, dopóki nie spróbuję tego:

Mój folder repozytorium jest współdzielony z maszyną wirtualną Windows XP, więc wykonuję czyszczenie z maszyny wirtualnej, a następnie wykonuję SVN UPDATE z hosta.

U mnie to zadziałało.

Pozdrowienia z Kostaryki.

Luisca94
źródło
0

Udało mi się rozwiązać ten problem na moim komputerze, zmieniając nazwy folderów, aby zmniejszyć ścieżkę folderu.

rsivakumar
źródło
-1

Zdarzyło mi się to po uszkodzeniu i zawieszeniu Tortoise podczas próby aktualizacji folderów. Skończyło się na ponownej instalacji Żółwia, ale blokada ducha wciąż była obecna. Stamtąd musiałem usunąć folder i zrobić nowe zamówienie. Oczywiście miałem szczęście, że nie miałem wtedy żadnych nowych zmian do wprowadzenia. W każdym razie niezła wiadomość, a jeśli ktoś ma lepsze rozwiązanie, z chęcią to usłyszę. Nawet użycie „Break Lock”, czyli odblokowanie z opcją wymuszenia niczego nie zmieniło.

JMM
źródło
-1

Oczyść, zaznacz wszystko pole wyboru => Ta praca dla mnie

Đức Thắng Nguyễn
źródło
To samo co Đức Thắng Nguyễn. Wykonaj „solidne” czyszczenie.
-1

Napotkałem ten problem po tych operacjach:

  1. zablokuj folder
  2. modyfikować pliki
  3. usuń pliki i zaktualizuj foldery -> nowe pobrane pliki
  4. spróbuj zatwierdzić lub zwolnić blokadę

W końcu rozwiązałem problem, ponownie wymuszając blokadę: TortoiseSVN -> Uzyskaj blokadę -> zaznacz "kradnij blokadę", a następnie zatwierdź lub zwolnij blokadę.

med_alpa
źródło