2012-11-08 16 views
21

Mam bardzo BARDZO denerwujący problem, w którym próbuję scalić nasz bagażnik do mojego oddziału, aby uzyskać pewne aktualizacje. I robią to na codzień, ale niemal każdego dnia pojawia się następujący błąd:"Folder" już zablokowany przez "Folder"

Error - 'D:\Code\Website' is already locked via 'D:\Code\Website'. 

Tylko bardzo przypadkowo nie ten błąd się stało i jestem w stanie z powodzeniem połączyć kufer z powrotem do oddziału. Jednak przez cały dzień próbowałem wyciągnąć najnowsze z bagażnika bez powodzenia. Wyglądałem wysoko i nisko na odpowiedzi na ten problem .. TAK, Google, losowe fora w Internecie ... itd. Mam nadzieję, że ktoś może rzucić trochę światła na to, dlaczego tak się dzieje.

To jest to, co ja już próbowałem:

  • Uruchom „Clean up” na każdym jednym folderze w katalogu.
  • Sprawdzono pod kątem pliku "lock" w katalogu .svn - nie istnieje.
  • Otwarty plik wc.db i sprawdzony stół WC_LOCK - nic tam nie ma.
  • Wyłączone oprogramowanie antywirusowe.
  • Wyłączony IIS.
  • Sprawdzono nową kopię oddziału.
  • Zaktualizowany TortoiseSVN
  • Zakończono odinstalowanie i ponowną instalację TortoiseSVN z najnowszym MSI z TortoiseSVN.net (1.7.10.23359, SVN 1.7.7).

Jestem w stanie zaktualizować oddział i zatwierdzić go .. nigdy nie było z tym problemu. To tylko scalenie tułowia, co powoduje problemy. Wydaje się, że nikt z zespołu nie ma tego problemu (z tą gałęzią lub innymi). Mogą swobodnie sprawdzać odgałęzienie .. scalać trunk i zatwierdzać go bez problemów.

Używam TortoiseSVN. Każda pomoc, którą macie/chłopcy, byłaby fantastyczna!

EDYCJA: Ponadto, testowe połączenie działa, ale rzeczywiste połączenie nie działa.

UPDATE

Okazuje się TSVNCache.exe STALE posiada blokady na pliku wc.db. Nie mam pojęcia dlaczego. Nawet jeśli zabiję ten proces; kiedy przejdę przez interfejs GUI TSVN Merge ponownie uruchomi pamięć podręczną i zablokuje ją. Udało mi się pomyślnie połączyć za pomocą wiersza polecenia .. czy istnieje sposób naprawienia problemu z blokowaniem pamięci podręcznej, aby uniknąć konieczności korzystania z wiersza polecenia?

+0

Jeśli to naprawdę jest zablokowane, co mówi "Pokaż zamki"? Czy korzystasz z Eclipse ze złączami SVN? Ci, jak mowią moje doświadczenia, mają tendencję do zepsucia lokalnej toalety. –

+0

Brak blokad. Okno dialogowe Release Lock nie pokazuje niczego. Visual Studio jest moim IDE i nie mam dla niego żadnych dodatków SVN .. –

+0

Ok. A co z zagranicznymi zamkami? Ktoś jeszcze roszczący sobie tę gałąź? Może wystąpić problem z AnkhSVN. Czy to też używasz? –

Odpowiedz

8

Spróbuj wyłączyć pamięć podręczną stanu ikona nakładka (Co proces TSVNcache.exe jest odpowiedzialny za)

  1. Otwórz okno Eksploratora
  2. Kliknij prawym przyciskiem myszy w dowolnym miejscu, TortoiseSVN -> Ustawienia
  3. idź do "Ikona nakładek" sekcja
  4. Wybierz "None" przycisk radiowy o statusie Cache
  5. Kliknij Zastosuj

Prawdopodobnie jeśli pamięć podręczna statusu jest wyłączona i TSVNcache.exe nie jest uruchomiony, to nie może zablokować żadnych plików.Możesz przynajmniej wykluczyć, że to jest problem (na pewno brzmi tak, jak jest). Jest to proces odpowiedzialny za aktualizowanie ikon folderów/plików w Eksploratorze za pomocą tego zielonego znacznika wyboru, czerwonego znaku zmodyfikowanego i tak dalej. Wyłączyłem to ze względu na wydajność przez lata. Po prostu przeglądam zmodyfikowane pliki lub otwieram okno dialogowe zatwierdzenia, aby zobaczyć, jakie pliki zostały zmienione.

Po tym, kolejnym najbardziej prawdopodobnym podejrzanym jest usługa indeksowania (Windows Search) z wcześniejszych doświadczeń.

+0

Zrobiłem to .. i teraz, gdy widzę, że scalanie się nie udaje i uruchamiam 'uchwyt' z sysinternals, widzę blokujący go 'TortoiseProc.exe':/ –

+0

próbował ponownie uruchomić komputer? –

+0

Mam, tak. Na tym etapie sprowadzę to na mój komputer, po prostu irytujące. Może dostanę z tego nowy komputer? :) Dzięki za pomoc. –

1

Mam ten sam problem od jakiegoś czasu. Zwłaszcza, że ​​moje repozytoriom ciężko rosną.

Wskaźnik, który TSVNCache blokuje kopię roboczą, dał mi do myślenia. Dlaczego miałby to robić? Wniosek: tylko wtedy, gdy jest zajęty aktualizowaniem statusu kopii roboczej (w tym nakładek ikon).

Jednym ze sposobów rozwiązania tego problemu jest dokładnie to, co mówi Joshua McKinnon: wyłączanie nakładek ikon. Jeśli nie jest to pożądane rozwiązanie (ponieważ chcesz zachować ikony), możesz również wybrać inne podejście: poczekaj, aż TSVNCache zakończy wykonywanie swojej pracy. Po otwarciu okna scalania możesz zobaczyć, że TSVNCache jest zajęty (w eksploratorze procesów). Kiedy ta krzątanina się skończy, można bezpiecznie przeprowadzić scalenie. Koniec problemów z blokowaniem!

2

Inną opcją, która działa dla mnie zamiast rezygnacji z nakładek ikon, jest zmiana katalogu w Eksploratorze Windows na folder inny niż svn iw ten sposób TortoiseSVN nie będzie sam z siebie konfliktować. Jest to bardzo denerwujące, ale jeśli potrzebujesz szybkiego rozwiązania - to jest to.

4

Miałem ten sam problem. Oto co zrobiłem:

  1. explorer.exe zabitych w Menedżerze zadań
  2. Uruchom go ponownie z Menedżera zadań
  3. Teraz seryjnej działa ...

Chyba jakoś Windows Explorer może zablokuj coś.

+0

To jest jedno rozwiązanie, które zadziałało dla mnie! :) – Neo

+0

Właśnie zamknąłem okno Eksploratora i działało dla mnie (przynajmniej tym razem - widzę komentarze od innych na temat ciągłych problemów, to czyni mnie stronniczym wobec Git). – TheCrazyProgrammer