Bezdepbonusu7Программирование: статьи и ответы

Вопрос

TFS зависает в диалоговом окне "Выполнение добавления в [foo]" при регистрации новых файлов

Автор вопроса: NoelОтветов: 1

У меня есть 16 файлов, которые были добавлены в наш репозиторий Team Foundation Server Source Control как часть более крупного добавления/регистрации, которые по-прежнему невозможно зарегистрировать.

В файлах нет ничего особенного - текстовые файлы, xml-файлы, xls-файлы, никаких причудливых имен, и проверка Team Explorer в Visual Studio 2010 зависает при попытке зарегистрировать один или все файлы.

Добавление работает без проблем (хотя некоторые, но не все, отображаются как состояние "добавить, заблокировать"?!). При попытке "Вернуть ожидающие изменения" и выбранных файлах диалоговое окно "Вернуть" зависнет на "Выполняется добавление [первый файл в группе из 16, который был выбран для возврата]...". Чтобы выйти из зависания, необходимо убить devenv.exe.

Это воспроизводимо с рассматриваемыми файлами (отмена ожидающих изменений, добавление элементов в папку, регистрация ожидающих изменений).

  • в окне вывода выберите "Показать вывод из системы управления версиями - основа команды" и посмотрите, есть ли там какие-либо сообщения. StingyJack 27.08.2010
  • add,lock означает, что это тип файла, настроенный для взаимоисключающего доступа (обычно двоичные файлы - если один пользователь редактирует файл, он не может быть объединен, если его редактирует другой, поэтому он заблокирован, чтобы разрешить только одну проверку). Есть ли какие-то файлы большого размера? Можете ли вы вернуть их в другую папку, или они всегда терпят неудачу?) Jason Williams 27.08.2010
  • Я предлагаю проверить журнал событий на вашем сервере Application Tier и посмотреть, что истекает по тайм-ауту. Сообщения журнала событий могут быть одновременно загадочными и информативными. Robaticus 27.08.2010

tfsvisual-studio

Ответы

Ответ 1 · рейтинг 2 · Noel

Спасибо за подсказки по поводу вывода на консоль и журнала событий на сервере.

В конце концов, проблема заключалась в повреждении состояния сервера по сравнению с локальным состоянием для рассматриваемых файлов. Сервер видел их как полностью зарегистрированные (чего не было, фактических файлов еще не было на сервере), в то время как локальная версия видела их как еще не зарегистрированные на сервере (таким образом, не соответствующие состоянию версии сервера) .

Мы решили, выполнив блокировку или разблокировку каждого из файлов. Это заставляло сервер распознавать неизменное состояние локальной версии и заставляло локальную версию синхронизироваться с сервером. После этого проверки прошли без ошибок.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы