2010-07-27 4 views
27

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

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

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

+1

Я надеюсь, что вы найдете что-то, как это массивная боль в заднице проверки каждого файла для изменений в индивидуальном порядке (хотя Я, вероятно, сделаю это, чтобы проверить, что правильные изменения были сделаны в любом случае, большую часть времени). –

+0

Я использую TFS 2008 – MADCookie

ответ

10

Per this page, вы можете запустить эту команду с визуальной строки студии Command.

tfpt uu /noget /r * 

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

TFS Power Tools ссылки (если вы уже не имеете его)
TFS Power Tools for 2010
TFS Power Tools for 2012

+0

работает как шарм, спасибо! очень рад, что мне не пришлось отменить все файлы 1844 вручную: D –

+1

Нет ли способа автоматизировать это? Это требует выполнения команды каждый раз. Я уверен, что в месте, где я работал, была установка, которая автоматически отменяет неизменные файлы, но я не могу понять, как это сделать. – Jez

+0

Я * считаю, что неизмененные файлы фактически не обновляются в TFS. Это может быть просто настройка моей работы. Я просто хочу выполнить вышеупомянутую операцию (в своем ответе) для моего собственного здравомыслия; чтобы убедиться, что я только файлы для проверки, которые я фактически изменил. – WEFX

1

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

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

+0

Используете ли вы генерацию кода? – MADCookie

+0

Я не уверен, что вы подразумеваете под генерацией кода. Но, с другой стороны, я могу сказать, что обычно мы пытаемся сделать это с 8 до 5 :) – danyim

+0

Генерация кода с использованием таких инструментов, как CodeSmith, для создания классов бизнес-объектов на основе схемы базы данных. Если вы не делаете такого рода разработку, вам не нужно будет проверять все файлы в проекте. Похоже, Грант Крофтон понимает необходимость. – MADCookie

4

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

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

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

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

+0

Что было не так с предоставленными ответами? –

17

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

+0

Какая версия Visual Studio это? Я не получаю этот вариант в 2010 году. SP1 –

+0

2010 Premium SP1 – alga

+1

Это может помочь отметить, что это также работает в VS Team System 2008. – danyim

6

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

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

Undo unchanged option

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

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

+0

Я использую TFS 2010, и когда я запускаю tfpt.exe uu/r из командной строки VS, он говорит ** Невозможно определить рабочее пространство **. Вы тоже получили эту ошибку? – Alicia

+0

Является ли текущая рабочая папка сопоставленной? Если бы вы не указали требуемые параметры? – jessehouwing

+1

Текущая рабочая папка была сопоставлена. Удалил мою ошибку, выполнив навигацию (используя командную строку) в папку, которая была отображена. – Alicia

Смежные вопросы