После того, как я фиксирую файлы, значки остаются либо измененными, либо ожидающими фиксации в течение длительного времени. Есть ли способ принудительно обновить, чтобы убедиться, что значок, который я вижу, является правильным состоянием файла?
Значки Windows Explorer в TortoiseSVN занимают много времени, чтобы обновить, чтобы исправить состояние
Ответ 1
Как указано в FAQ: попробуйте выполнить очистку.
Ответ 2
Вы можете попробовать следующее:
TortoiseSVN → Настройки → Наложение значков, установите для параметра "Кэш состояния" значение "Шелл" вместо "По умолчанию"
Ref. к справке.
Shell Кэширование выполняется непосредственно внутри DLL файла расширения оболочки, но только для текущей видимой папки. Каждый раз, когда вы переходите к другой папке, информация о состоянии возвращается снова.
Преимущество: требуется только очень маленькая память (около 1 Мб ОЗУ) и может отображать статус в режиме реального времени.
Недостаток: поскольку кэшируется только одна папка, наложения не отображают статус рекурсивно. Для больших рабочих копий может потребоваться больше времени, чтобы показать папку в проводнике, чем с кешем по умолчанию. Кроме того, столбец
mime-type
недоступен.
Ответ 3
Я опубликовал аналогичный ответ здесь, но чтобы спасти вас от открытия ссылки, я приведу здесь:
Я не уверен, что это точно связанные с вашей проблемой, но я нашел TortoiseSVN иногда может быть довольно медленный при работе с репозиториями которые имеют много файлов в них. Эта проявляется в tsvncache.exe процесс занимает много памяти. Процесс tsvncache.exe сканирует файлы и папки и ассоциирует знакомые значки с ними для обозначения измененные/проигнорированные и т.д. файлы.
Исправить это, чтобы сказать Tortoise SVN только кешировать папки, которые вы работая и игнорируя остальных. к сделайте это, щелкните правой кнопкой мыши свой проект папку и выберите TortoiseSVN- > Settings- > Icon Overlays. У меня есть пути исключения, установленные в c: * и d: * (в основном игнорировать все фиксированные диски) и Включить пути, установленные для моего проектов.
Ответ 4
Закрытие окна Окно Explorer и повторное открытие. Чаще всего значок остается на древовидной части проводника Windows.
И нет - Clean Up и F5 не помогает. Я предполагаю, что это имеет какое-то отношение к Explorer, а не к TortoiseSVN.
Ответ 5
В последнее время наткнулся на эту проблему. Обнаружено короткое и грязное обходное решение, которое оказалось на 100% эффективным.
Создайте пустой текстовый файл в папке, которую хотите обновить значки, щелкнув правой кнопкой мыши и выбрав "Создать" → "Текстовый документ". Значки должны волшебным образом обновляться. После этого, конечно, удалите пустой текстовый файл.
Ответ 6
Если вы хотите проверить, все ли у вас есть, есть опция меню "svn check for changes". Если вы нажмете F5, он обновится и покажет вам правду. Если вас раздражает, что значки в папке устарели, вы можете отключить значки.
Ответ 7
Я не знаю, было ли это связано, но нажатие F5
, похоже, помогает... иногда.
Мой опыт работы с TortoiseSVN заключается в том, что производительность как-то напрямую связана с количеством проверенных каталогов. Вы можете установить каталоги, которые должны быть включены/исключены в некоторых свойствах TortoiseSVN, чтобы ускорить процесс.
Ответ 8
Перейдите в каталог, в котором вы хотите, чтобы значки обновлялись. Щелкните правой кнопкой мыши на этом каталоге с помощью мыши и в меню проводника контекста SVN выберите "очистка", а затем нажмите F5. Он должен обновить все значки SVN в этом каталоге для вас. Это было для меня.
Я работаю над огромным проектом с тысячами файлов, а очистка SVN очень быстро работает на моем компьютере, поэтому я делаю это на корневом уровне по большей части, тем самым обновляя все значки. Для медленных компьютеров без большой памяти полная очистка для большого проекта может занять некоторое время. В этом случае вы можете обновить только нужный каталог.
Кто-то говорит выше, что "очистка" вернет ваши локальные изменения, но это не обязательно так. Это не возвращается для меня... Кроме того, я не думаю, что это вариант, который вы должны включить. Иногда ваши локальные SVN-кэши повреждаются, и очистка исправляет их для вас... что часто является необходимостью для совершения ваших коммитов и т.д.
Надеюсь, что это поможет.
PS. Моя версия черепахи SVN: TortoiseSVN 1.6.16, Build 21511 - 64 бит
Ответ 9
"Обновление" Windows (F5) в основном работает для меня (ОК, я тоже нажимаю на него), но иногда в окне нет каких-либо наложений на значок. В этих случаях "Очистка" также не помогает, независимо от того, какие параметры я выбираю, в том числе "Refresh Shell Overlays".
Я следовал за концом от gekowa:
TortoiseSVN → Настройки → Наложение значков, установите для параметра "Кэш состояния" значение "Шелл" вместо "По умолчанию"
и в следующий раз, когда я открою окно, наложения были правильными. Потребовалось несколько секунд, чтобы открыть окно, но все было сразу после этого. Я установил кэш состояния обратно в "Шелл", и время задержки тоже ушло.
Раньше я установил кэш состояния "Нет", но это не помогло.
Ответ 10
У меня была аналогичная проблема. Я создал новую ветку, а потом проверил новую рабочую копию. В новой рабочей копии не было наложенных значков. Ничего не появилось. Только после убийства процесса TSVNCache.exe
через диспетчер задач Windows значки отображались правильно.
Ответ 11
F5 тоже не работал у меня, но я нашел один F5 метод, который сработал.
Скажем, у вас есть папка, называемая проектами, и в ней есть папка с именем mysubversionedproject. Если вы развернете дерево проводника, вы увидите
- Проекты
- mysubversionedproject
Если вы сейчас нажмете F5, это может не сработать, как многие заметили.
Но если вы закроете это дерево, чтобы вы видели только
- Проекты
(и убедитесь, что вы также нажали на проекты, чтобы они были выбраны)
и нажмите F5, а затем снова разверните дерево, затем оно может работать.
Для меня, mysubversionedproject теперь имеет наложенную иконку, как и должно быть.
Ответ 12
Исправить это, чтобы сказать Tortoise SVN только кешировать папки, которые вы работают и игнорируют других. Для этого щелкните правой кнопкой мыши и выберите TortoiseSVN- > Settings- > Icon Overlays. у меня есть Исключить пути, установленные на c: * и d: * (в основном игнорировать все фиксированные диски) и Включить пути, установленные в папку моих проектов.
Я сделал то же самое, что и Malice, но я снял флажки с фиксированных дисков и добавил C:\Users\YOURNAMEHERE\Documents * в каталог include. Работает очень хорошо для меня, поскольку все мои проекты находятся в этой папке.
Ответ 13
Основываясь на ответе на noodle7: нужно изменить другой вариант:
TortoiseSVN → Настройки → Наложение значков, установите для параметра "Кэш состояния" значение "По умолчанию" вместо "Оболочка"
Это сработало для меня. TortoiseSVN 1.9.
Ответ 14
Итак... из всех этих ответов/трюков/решений, честно все, что вам нужно сделать, это переключиться на другую ранее существующую ветку, используя раскрывающийся список - щелкните правой кнопкой мыши > Git Branch, затем переключитесь обратно в ветку, в которой вы были чтобы обновить значки состояния. Вуаля!