Значки проводника Windows в TortoiseSVN долго обновляются до правильного состояния - PullRequest
69 голосов
/ 07 февраля 2010

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

Ответы [ 14 ]

58 голосов
/ 08 февраля 2010

Как указано в FAQ : попробуйте запустить очистку.

36 голосов
/ 03 марта 2010

Вы можете попробовать это:

TortoiseSVN -> Настройки -> Наложение значков, установите «Кэш состояния» на «Оболочка» вместо «По умолчанию»

Ref. в помощь.

Shell Кэширование выполняется непосредственно внутри DLL-файла расширения оболочки, но только для видимой в данный момент папки. Каждый раз, когда вы переходите в другую папку, информация о состоянии выбирается снова.

Преимущество: требуется очень мало памяти (около 1 МБ ОЗУ) и может отображать статус в режиме реального времени.

Недостаток: поскольку кэшируется только одна папка, наложения не показывают рекурсивное состояние. Для больших рабочих копий отображение папки в проводнике может занять больше времени, чем в кеше по умолчанию. Также столбец mime-type недоступен.

13 голосов
/ 20 февраля 2010

Я отправил аналогичный ответ здесь , но чтобы избавить вас от необходимости открывать ссылку, я процитирую его здесь:

Я не уверен, что это точно связанных с вашей проблемой, но я нашел TortoiseSVN иногда может быть довольно медленный при работе с репозиториями которые имеют много файлов в них. это проявляется в tsvncache.exe процесс занимает много памяти. Процесс tsvncache.exe сканирует файлы и папки и знакомые знакомые значки с ними для обозначения измененные / игнорируемые и т. д. файлы.

Исправление для этого - сказать черепахе SVN кэшировать только те папки, которые вы работать и игнорировать других. к сделайте это, щелкните правой кнопкой мыши ваш проект папку и выберите TortoiseSVN-> Настройки-> Значок наложений. У меня есть пути исключения, установленные в c: * и d: * (в основном игнорировать все исправленное диски) и включить пути, установленные для моего папка проектов.

5 голосов
/ 11 апреля 2015

Недавно наткнулся на эту проблему. Найден короткий и грязный обходной путь, который доказал свою эффективность на 100%.

Создайте пустой текстовый файл в папке, в которой вы хотите обновить иконки, щелкнув правой кнопкой мыши и выбрав «Новый» -> «Текстовый документ». Иконки должны волшебным образом обновляться. Удалить пустой текстовый файл после конечно.

4 голосов
/ 07 февраля 2010

Закрытие окна Windows Explorer и повторное открытие помогает. Чаще всего значок остается в древовидной части проводника Windows.

А нет - Очистить и F5 не помогает. Я полагаю, это связано с проводником, а не с TortoiseSVN.

2 голосов
/ 07 февраля 2010

Если вы хотите проверить, все ли вы выполнили, есть пункт меню «svn check for changes».Если вы нажмете F5 там, он обновится и покажет вам правду.Если вас раздражает, что значки папок устарели, вы можете отключить значки.

1 голос
/ 22 октября 2012

F5 у меня тоже не сработало, но я нашел один F5 метод, который работал.

Допустим, у вас есть папка с именем projects и в ней есть папка mysubversionedproject. Если развернуть дерево обозревателя, вы увидите

  • Проекты
    • mysubversionedproject

Если вы сейчас нажмете F5 , это может не сработать, как многие заметили.

Но если закрыть это дерево так, чтобы вы видели только

  • Проекты

(и удостоверился, что вы также нажали на проекты, чтобы он действительно был выбран)
и нажмите F5 , а затем снова разверните дерево, тогда оно может работать.

Для меня mysubversionedproject теперь имеет наложенный значок, как и должно быть.

1 голос
/ 01 июля 2012

У меня была похожая проблема. Я создал новую ветвь и затем извлек ее в новую рабочую копию. Новая рабочая копия не имела пометок значков, как это должно быть. Ничего не обнаружилось. Только после уничтожения процесса TSVNCache.exe с помощью диспетчера задач Windows значки отображались правильно.

1 голос
/ 14 февраля 2012

Windows "refresh" (F5) в основном работает для меня (хорошо, я нажимаю на нее тоже одержимо), но иногда окно вообще не имеет никаких значков. В этих случаях «Очистка» также не помогает, независимо от того, какие параметры я выбираю, включая «Обновить наложения оболочки».

Я последовал совету от gekowa:

TortoiseSVN -> Настройки -> Наложение значков, установите Кэш состояния в «Оболочка» вместо «По умолчанию»

и в следующий раз, когда я открыл окно, наложения были правильными. Прошло несколько секунд, чтобы открыть окно, но все было сразу после этого. Я вернул кэш состояния в «Оболочку», и задержка также исчезла.

Раньше я устанавливал кэш состояния в "Нет", но это не помогло.

1 голос
/ 20 января 2012

Перейдите в каталог, в котором вы хотите обновить значки. Щелкните правой кнопкой мыши по этому каталогу и в контекстном меню SVN выберите «очистить», а затем нажмите F5 . Он должен обновить все иконки SVN в этом каталоге для вас. Это для меня.

Я работаю над огромным проектом с тысячами файлов, и очистка SVN очень быстро выполняется на моем компьютере, поэтому я делаю это на корневом уровне, обновляя все значки. Для медленных компьютеров без большого объема памяти полная очистка большого проекта может занять некоторое время. В этом случае вы можете обновить только тот каталог, который вам нужен.

Кто-то сказал выше, что «очистка» отменит ваши локальные изменения, но это не обязательно так. Это не возвращается для меня ... Кроме того, я не думаю, что это опция, которую вы должны включить. Иногда ваши локальные кэши SVN повреждаются, и очистка исправит их для вас ... что часто является необходимостью для выполнения ваших коммитов и т. Д. ...

Надеюсь, это поможет.

PS. Моя версия SVN черепахи: TortoiseSVN 1.6.16, сборка 21511 - 64-битная

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...