Visual Studio TFS показывает неизмененные файлы в списке ожидающих изменений


Я вижу файл в окне ожидающие изменения. Я пытаюсь сравнить его с последней версией, и я получаю сообщение "файлы идентичны", если файлы идентичны, почему этот файл отображается в окне ожидающих изменений? Что изменилось в этом файле? Могу ли я настроить TFS не перечислять файлы, которые идентичны?

6 82

6 ответов:

Это нормально, если файл будет автоматически извлечен из-за изменения, и если в конечном итоге содержимое файла возвращается в исходное состояние. В этот момент Вы увидите сообщение об идентичном содержании при сравнении.

эта запись в блоге описывает не очень интуитивный способ борьбы с этим; и в комментариях есть еще лучшее предложение по борьбе с ним через командную строку с помощью TFS power tools.

TFS ожидающие изменения игнорируют идентичные файлы...

недавно я только что обновил VS2010 до VS 2013, и эта проблема еще хуже. Когда вы используете сравнение, идентичные файлы вообще не появляются. Я ненавижу это, потому что вы не могли понять, какие файлы действительно изменены, пока вы не проверите файлы сравнения тщательно.

наконец я придумал обходной путь для этого:
Добавьте "отменить неизмененные проверки" во внешние инструменты:

    : tfpt.exe
  • Аргументы: uu . /noget /recursive
  • исходный каталог: $(SolutionDir)

после выполнения этой команды TFS автоматически отменит все избыточные изменения в файлах.
Но эти файлы все еще сохраняют статус проверки, на самом деле они уже отменены и такие же, как и последняя версия. Я думаю, что это ошибка в TFS. Вам просто нужно нажать кнопку Обновить значок на панели инструментов в обозревателе решений, эти файлы будут обновлены и показать правильный статус!

чтобы сделать вышеописанное объяснение более ясным:

  1. установите TFS Power Tools с помощью диспетчера пакетов NuGet в VS.
  2. Откройте командную строку Visual Studio (также называемую командной строкой разработчика для VS 2013/2015) из Windows Start.
  3. перейдите в корневое расположение локальной рабочей области с помощью командной строки.
  4. выполните эту команду: tfpt uu . / recursive / noget
  5. выберите отбросить избыточные изменения, если вызванный.

работал для меня.

далее:

иногда я обнаружил, что мне нужно запустить команду в строке открытия командной строки разработчика (и получить ошибку workspace not found), прежде чем перейти в папку workspace и выполнить там. Если я пойду прямо в нужную папку, команда не найдена. (Я бы не возражал против решения этой проблемы сам по себе.)

я решил эту проблему нажатием В изменения после индексации с Unstage All.

Он разрешил неизмененный файл, который у меня был в моем . Красиво и просто.

Visual Studio 2012 представила новую концепцию под названием Локальное Рабочее Пространство.

Если расположение рабочей области настроено как локальное, то он будет размещать локальную копию исходного файла (так же, как SVN / CVS).

Он будет автоматически скрывать неизмененные файлы от ожидающих изменений.

используйте проводник системы управления версиями TFS для " редактирования..."рабочее пространство TFS и измените" дополнительно..."- установка местоположения с сервера на локальный.

для меня согласование рабочей области разрешает эти недопустимые ожидающие изменения:

  1. Team Explorer - > Строит
  2. щелкните правой кнопкой мыши на последней сборки с вами изменения - > " согласовать рабочее пространство..."