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

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

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

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

Ответы [ 5 ]

18 голосов
/ 31 марта 2011

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

10 голосов
/ 03 апреля 2014

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

tfpt uu /noget /r *

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

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

7 голосов
/ 23 апреля 2012

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

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

Undo unchanged option

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

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

4 голосов
/ 28 июля 2010

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

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

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

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

1 голос
/ 28 июля 2010

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

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

...