Могут ли TFS Pending Changes отображать файлы, которые действительно изменены, например SourceGear Vault?

Я использовал SourceGear Vault для некоторых личных проектов и Team Foundation Server для рабочих проектов. TFS не хватает только одной простой функции, которую Vault имеет при проверке в диалоговом окне.

В клиенте Vault вы можете увидеть, изменился ли извлеченный файл по сравнению с предыдущей вернувшейся версией. Вот снимок экрана. Заметили столбец "Детали"? Это говорит вам, что есть разница. Это очень полезно, если вам нужно проверить весь проект, потому что вы собираетесь выполнить повторную генерацию кода. Я проверю свой проект библиотеки классов, а затем восстановлю свои шаблоны CodeSmith. Это может привести к изменению только нескольких конкретных файлов. Когда я просматриваю ожидающий экран регистрации, я вижу файлы, которые действительно изменились, и я могу сравнить, чтобы увидеть влияние.

ТАК... может ли TFS сделать это? Может быть, есть сторонний инструмент, который сделает это для меня? Есть ли TFS SDK или PowerTool, которые я должен получить. Кто-нибудь хочет его построить?

5 ответов

Решение

На этой странице вы можете запустить эту команду из командной строки Visual Studio.

tfpt uu /noget /r *

Для этого вам необходимо установить TFS Power Tools. Кроме того, убедитесь, что вы просматриваете корень вашей сопоставленной папки в командной строке (например, - C:\TFS).

Ссылки TFS Power Tools (если у вас их еще нет)
Электроинструменты TFS для 2010
Электроинструменты TFS на 2012 год

Выберите все файлы в окне "Ожидающие изменения" и активируйте контекстное меню. Затем нажмите "Отменить..."> "Отменить изменения" > "Нет всем". Файлы без изменений будут откатываться.

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

Вы можете быстро отменить ваши неизмененные файлы, вызвав tfpt.exe uu /r из командной строки (для этого вам понадобятся инструменты Team Foundation Power) или воспользовавшись кнопкой "Отменить без изменений" в окне "Ожидающие изменения". Это удалило все элементы из списка, которые не изменились сразу. Так что вы можете точно увидеть, что вы проверяете.

Отменить без изменений

Хотя может случиться так, что эта опция будет добавлена Team Foundation Power Tools или расширениями TFS Source Control Explorer (которые в любом случае должны быть у каждого пользователя TFS).

Смотрите также:

Я не люблю отвечать на свои вопросы, но, похоже, не может быть настоящего решения Microsoft. Для меня это то, как я решаю проблему в офисе, используя Visual Studio.

  1. Прежде чем заново сгенерировать бизнес-объекты, я делаю копию всей структуры папок
  2. Я проверяю весь проект или корневую сгенерированную папку
  3. Я запускаю генератор кода. Иногда я точно знаю, что меняется, но иногда я могу внести много изменений и не хочу ничего пропустить. Мой генератор кода на работе также генерирует все файлы SQL, необходимые для хранимых процедур DROP / CREATE.
  4. Используя SourceGear DiffMerge, я сравниваю папки только что созданной и ранее созданной резервной копии.

Это довольно много времени. Я никогда не думал об этом как о проблеме, пока не увидел, что Vault идентифицирует, что файл на диске отличается от хранилища.

Может быть, вы все можете сказать, как вы делаете генерацию / регенерацию кода при работе с репозиторием контроля версий.

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

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

Другие вопросы по тегам