Я вижу файл в ожидающем окне изменений. Я пытаюсь сравнить его с последней версией, и я получаю сообщение "Файлы идентичны" Если файлы идентичны, почему этот файл отображается в окне ожидающих изменений? Что изменилось об этом файле? Могу ли я настроить TFS, чтобы не отображать идентичные файлы?
Visual Studio TFS показывает неизменные файлы в списке ожидающих изменений
Ответ 1
Это нормально, если файл автоматически извлекается из-за изменения, и если в конечном итоге содержимое файла будет изменено обратно на исходное состояние. В этот момент вы увидите сообщение об идентичном содержимом при сравнении.
В этой записи в блоге описывается не такой интуитивный способ борьбы с этим; и в комментариях есть еще лучшее предложение по работе с ним через командную строку с помощью инструментов электропитания TFS.
Ответ 2
Недавно я только что обновил VS2010 до VS 2013, и эта проблема еще хуже. Когда вы используете сравнение, файлы, которые идентичны, вообще не появляются. Я ненавижу это, потому что вы не можете понять, какие файлы действительно изменены, пока вы не тщательно проверите файлы сравнения.
Наконец, я выясню обходное решение для этого:
Добавьте "Отменить необработанные проверки" во внешних инструментах:
- Команда:
tfpt.exe
- Аргументы:
uu . /noget /recursive
- Начальная директория:
$(SolutionDir)
После запуска этой команды TFS автоматически отменит все избыточные изменения в файлах.
Но эти файлы по-прежнему сохраняют статус проверки, на самом деле они уже отменяются и совпадают с последней версией. Я думаю, что это ошибка в TFS. Вам просто нужно щелкнуть значок "Обновить" на панели инструментов в обозревателе решений, эти файлы будут обновлены и будут отображаться правильно!
Ответ 3
Чтобы сделать приведенное выше объяснение понятным:
- Установите TFS Power Tools с помощью диспетчера пакетов NuGet в VS.
- Откройте командную строку Visual Studio (также называемую командной строкой разработчика для VS 2013/2015) из Windows Start.
- Перейдите в корневое расположение локальной рабочей области через командную строку.
- Выполните следующую команду: tfpt uu./recursive/noget
- Выберите, если будет предложено сбросить избыточные изменения.
Работал для меня.
Далее:
Иногда я обнаружил, что мне нужно запустить команду в открывшемся приглашении командной строки разработчика (и получить ошибку в рабочей области), прежде чем перейти в папку рабочего пространства и выполнить там. Если я вернусь к правильной папке, команда не будет найдена. (Я бы не прочь решить эту проблему сам по себе.)
Ответ 4
Visual Studio 2012 представила новую концепцию Локальная рабочая область.
Когда в местоположении рабочей области настроено значение "Локальный", тогда будет размещена локальная копия исходного файла (точно так же, как SVN/CVS).
Затем он автоматически скроет неизменные файлы из ожидающих изменений.
Используйте проводник исходного кода TFS для "Редактировать..." в рабочей области TFS и измените параметр "Дополнительно..." - установите "Местоположение с сервера на локальный".
Ответ 5
Я решил это, нажав кнопку Stage All
в "Изменениях", а затем отключив их с помощью Unstage All
.
Он разрешил неизменный файл, который у меня был в разделе Changes
. Приятно и просто.