Znany jest problem z repozytoriami SVN i usługą indeksowania systemu Windows walczącymi o pliki metadanych .svn. Tutaj po więcej szczegółów.
Jak możemy to skonfigurować, aby automatycznie nie było problemów z indeksowaniem repozytoriów subversion przez Windows (Vista / Win7). (Nie chcemy ręcznie robić czegoś za każdym razem, gdy dodajemy katalog repo).
Jednym z pomysłów jest skonfigurowanie systemu Windows do automatycznego nieindeksowania folderów o nazwie „.svn”, jednak nie mogę znaleźć sposobu, aby to zrobić.
Wiem, że możesz wyłączyć niektóre rozszerzenia, ale wydaje się, że to nie działa, ponieważ pliki metadanych svn znajdują się w folderze.
Zanotuj
windows-7
svn
windows-search
tortoise-svn
James Van Boxtel
źródło
źródło
Odpowiedzi:
Miałem ten sam problem i znalazłem rozwiązanie. Cały mój kod jest przechowywany w jednym folderze:
F: \ projekty \
W tym folderze znajdują się drzewa kodu i powiązane pliki projektów o łącznej wielkości ponad 2 GB. Ciągle muszę przeszukiwać to drzewo i okna. Indeksowanie było w rzeczywistości niezwykle przydatnym narzędziem do szybkiego wyszukiwania, więc wyłączenie go nie było opcją. Chcę wykluczyć foldery SVN, ponieważ zaśmiecają moje wyniki wyszukiwania, (2) niepotrzebne przeciąganie w moim systemie, (3) SVN, Win7 i MS Security Essentials wydają się nie działać dobrze podczas wykonywania dużych operacji SVN.
Przed wypróbowaniem rozwiązania odtwórz problem:
Rozwiązanie:
csmcmd.exe /add_rule file:///F:\projects\*\.svn\* /USER /EXCLUDE
Zrozumiałem to, uruchamiając najpierw polecenie:,
csmcmd.exe /enumerate_rules
aby wyświetlić listę wszystkich istniejących. Były już pewne reguły z użyciem symboli wieloznacznych asterix (*) w systemie Windows, więc był to dowód na to, że było to możliwe.Teraz powtórz kroki, aby odtworzyć problem, i nie powinno już być bałaganu SVN w wynikach wyszukiwania. Daj komputerowi na aktualizację indeksów - zajęło mi to mniej niż 5 minut w moim systemie. Czasami ponowne uruchomienie usługi wyszukiwania, rozpoczęcie przebudowy / ponownegoindeksowania lub ponownego uruchomienia pomaga w dalszym postępie.
Aktualizacja : Niektóre z moich projektów SVN używają „.svn”, a niektóre „_svn”, więc dodałem te dwie reguły do każdego dysku:
csmcmd.exe /add_rule file:///F:\*\.svn\* /DEFAULT /EXCLUDE
csmcmd.exe /add_rule file:///F:\*\_svn\* /DEFAULT /EXCLUDE
źródło
AFAIK, usługa indeksowania systemu Windows w systemie Windows 7 wygląda domyślnie tylko w folderze Użytkownicy (popraw mnie, jeśli się mylę). Jeśli masz repozytoria SVN w folderze osobistym, możesz:
a) Umieszczenie repozytoriów SVN w innym miejscu
b) Wyłączając te foldery z indeksu. Tutaj dowiesz się, jak wykluczyć folder.
źródło
Oczywistą poprawką byłaby zmiana Subversion, aby ustawiała tę flagę „nie indeksuj” za każdym razem, gdy tworzy katalog .svn. Problem polega na tym, że ta funkcja nie będzie już potrzebna, gdy zostanie wprowadzona.
Znany problem najprawdopodobniej zniknie w aktualnie tworzonych wersjach Subversion (wersja 1.7). W katalogu .svn będzie znacznie mniej operacji na plikach, a także tylko 1 katalog .svn na kopię roboczą.
To zmniejsza prawdopodobieństwo wystąpienia problemu, a także znacznie ułatwia wyłączenie indeksowania, ponieważ istnieje tylko jeden folder .svn.
źródło
Metoda brutalnej siły
Zasady grupy WDS mają opcję
Prevent Indexing Certain Paths
, ale nie są dostępne na liście dla Windows Vista zgodnie z tabelą funkcji.źródło
Jeśli odpowiedzią Darrena Hallsa jest podejście „Brute Force”, to moja odpowiedź musi brzmieć „Brute Force and Ignorance”. :)
Jest to coś, co ostatnio mnie zirytowało, gdy używamy SVN do zarządzania dokumentami i projektami, co może oznaczać, że indeksator Windows jest bardzo przydatny, jeśli chodzi o wyszukiwanie nieznanych dokumentów, ale przechwytywanie wszystkich plików pamięci SVN jest po prostu bezużyteczne.
To jest moje (raczej brzydkie) rozwiązanie w pliku wsadowym Windows:
Pierwszy i ostatni wiersz są dostępne, ponieważ ATTRIB odmawia zastosowania przełącznika + I do ukrytego folderu, przynajmniej tak zrobiłem. Musisz skopiować to do pliku takiego jak „svnNoIndex.bat” i uruchomić go w katalogu kasy SVN, z dużym repozytorium może zająć trochę czasu ...
Obecnie testuję to w systemie Vista z najnowszym dodatkiem Service Pack, spodziewam się, że będzie działać w systemie Windows 7. Nie wiem, czy indeks musi zostać przebudowany w celu uwzględnienia plików, które są teraz oznaczone jako nieindeksowane przez Robię to, ale i tak muszę go odbudować, więc to właśnie robię, ponieważ trwa to tylko kilka dni, gdy indeks się odbudowuje.
Aby uczynić to „automatycznym”, możesz dodać plik wsadowy jako hak po aktualizacji, który uruchamia się po aktualizacji ... jeśli jest nieuporządkowany, ale może działać.
źródło
Możesz zasadniczo powiedzieć Windows Search, aby zignorował foldery .svn, dostosowując rejestr.
Adres URL pasuje do folderów o nazwie „.svn” w dowolnym miejscu w systemie plików. (Liczba po domyślnych regułach powinna być unikalna - tzn. Jeśli masz już domyślną regułę 11, wybierz inną liczbę).
źródło