Это займет некоторую работу, так как Team Build предполагает, что набор файлов, которые отслеживаются на предмет изменений, и набор файлов, которые вы хотите загрузить (рабочая область сборки), - это одно и то же. Я бы написал пользовательскую задачу msbuild . Основные шаги:
- Получить локальную версию специального файла с помощью GetExtendedItem ()
- Сравните это с версией, записанной в предыдущей успешной сборке (сохраните эту информацию в реестре, или, возможно, какой-нибудь жестко заданный путь)
- Если версии совпадают, прервать сборку
- Если нет, продолжить сборку
- Если сборка прошла успешно, обновите реестр
Помимо GetExtendedItem () [это API, который, кстати, tf prop вызывает], другая информация, которая может быть полезна для такой задачи, как эта, - это самый последний набор изменений в рабочей области. Чтобы получить это эффективно, используйте вместо этого QueryHistory, передавая WorkspaceVersionSpec для versionFrom и versionTo. Эквивалентно: tf Hist $ / -r-версия: W ~ W