Подтвердить что ты не робот

Значки Windows Explorer в TortoiseSVN занимают много времени, чтобы обновить, чтобы исправить состояние

После того, как я фиксирую файлы, значки остаются либо измененными, либо ожидающими фиксации в течение длительного времени. Есть ли способ принудительно обновить, чтобы убедиться, что значок, который я вижу, является правильным состоянием файла?

4b9b3361

Ответ 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, затем переключитесь обратно в ветку, в которой вы были чтобы обновить значки состояния. Вуаля!