Существует известная проблема с SVN-репозиториями и службой индексации окон, борющимися за файлы метаданных .svn. Здесь для более подробной информации.
Как мы можем настроить его таким образом, чтобы автоматически не возникало проблем с индексированием хранилищ Subversion в Windows (Vista / Win7). (Мы не хотим делать что-то вручную каждый раз, когда добавляем каталог репо.)
Одна идея состоит в том, чтобы настроить Windows, чтобы автоматически не индексировать папки с именем «.svn», однако я не могу найти способ сделать это.
Я знаю, что вы можете отключить определенные расширения, но это не работает, так как файлы метаданных svn находятся в папке.
Обратите внимание
windows-7
svn
windows-search
tortoise-svn
Джеймс Ван Бокстел
источник
источник
Ответы:
У меня была такая же проблема, и я нашел решение. Весь мой код хранится в одной папке:
F: \ Projects \
В этой папке находятся деревья кода и связанные файлы проекта, которые занимают более 2 ГБ. Мне постоянно нужно искать в этом дереве и окнах. Индексирование на самом деле было чрезвычайно полезным инструментом для быстрого поиска, поэтому отключить его было невозможно. Я хочу исключить папки SVN, потому что они загромождают мои результаты поиска, (2) ненужное перетаскивание в моей системе, (3) SVN, Win7 и MS Security Essentials, кажется, не работают хорошо при выполнении больших операций SVN.
Прежде чем попробовать решение, воспроизведите проблему:
Решение:
csmcmd.exe /add_rule file:///F:\projects\*\.svn\* /USER /EXCLUDE
Я понял это, сначала запустив команду:,
csmcmd.exe /enumerate_rules
чтобы перечислить все существующие. Уже было несколько правил использования подстановочного знака asterix (*) в Windows, так что это было доказательством того, что это возможно.Теперь повторите шаги, чтобы воспроизвести проблему, и вы больше не должны видеть беспорядок SVN в ваших результатах поиска. Дайте компьютеру время для обновления индексов - это заняло менее 5 минут в моей системе. Иногда перезапуск службы поиска, запуск перестройки / переиндексации или перезагрузка помогают двигаться дальше.
Обновление : некоторые из моих проектов SVN используют ".svn", а некоторые используют "_svn", поэтому я добавил эти два правила для каждого диска:
csmcmd.exe /add_rule file:///F:\*\.svn\* /DEFAULT /EXCLUDE
csmcmd.exe /add_rule file:///F:\*\_svn\* /DEFAULT /EXCLUDE
источник
AFAIK, служба индексирования Windows в Windows 7 по умолчанию выглядит только в папке «Пользователи» (поправьте меня, если я ошибаюсь). Если у вас есть SVN-репозитории в вашей личной папке, вы можете:
а) Размещение ваших репозиториев SVN в другом месте
б) Исключив эти папки из индекса. Здесь вы найдете, как исключить папку.
источник
Очевидным решением будет изменение Subversion для установки этого флага «не индексировать» всякий раз, когда он создает каталог .svn. Проблема в том, что эта функция больше не будет нужна, когда она будет представлена.
Известная проблема, скорее всего, исчезнет в разрабатываемых в настоящее время версиях Subversion (версия 1.7). В каталоге .svn будет намного меньше файловых операций, а также на 1 каталог .svn на рабочую копию.
Это снижает вероятность возникновения проблемы, а также значительно упрощает отключение индексирования, поскольку существует только одна папка .svn.
источник
Метод грубой силы
Групповая политика WDS имеет опцию для
Prevent Indexing Certain Paths
, но она не указана в списке доступных для Windows Vista в соответствии с функциональной схемой.источник
Если ответ Даррена Холла - это подход "грубой силы", то мой ответ должен быть подходом "грубой силы и невежества". :)
Это то, что меня недавно раздражало, так как мы используем SVN для управления документами и проектами, что может означать, что индексатор Windows очень полезен, когда речь идет о возможности поиска неясных документов, но перехват всех файлов хранилища svn просто бесполезен.
Это мое (довольно некрасивое) решение в пакетном файле Windows:
Первая и последняя строки есть, потому что ATTRIB отказывается применять переключатель + I к скрытой папке, по крайней мере, для меня. Вам нужно будет скопировать это в файл типа "svnNoIndex.bat" и запустить его в вашем каталоге извлечения SVN, с большим хранилищем это может занять некоторое время ...
В настоящее время я тестирую это под Vista с последним пакетом обновлений, я ожидаю, что он будет работать на Windows 7. Я не знаю, нужно ли перестраивать индекс, чтобы учесть файлы, которые теперь помечены как не проиндексированные делаю это, но мне все равно нужно перестроить мой, так что я так и делаю, так как индекс перестраивается только через несколько дней.
Чтобы сделать это "автоматическим", вы можете добавить пакетный файл в качестве перехвата после обновления, который запускается после обновления ... если он грязный, но он может работать.
источник
По сути, вы можете указать Windows Search игнорировать папки .svn путем настройки реестра.
URL соответствует папкам с именем «.svn» в любой точке вашей файловой системы. (Число после правил по умолчанию должно быть уникальным - то есть, если у вас уже есть правило по умолчанию 11, выберите другое число).
источник