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