TFS - выполнить извлечение + возврат определенного файла, если проверяется другой файл - PullRequest
0 голосов
/ 09 ноября 2011

У меня есть некоторые файлы XSD, которые я генерирую классы для использования утилиты XSD.exe от MS.

Я использую предварительную сборку для извлечения сгенерированного файла классов кода и пост для повторной проверки.

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

Чтобы решить эту проблему, я сначала хотел сравнить содержимое XSD с исходным сервером и только затем выполнить операцию check-out + check-in.

Есть ли способ сделать это с помощью TFS?

Примечание: я попытался использовать команду diff в tf.exe, но она не возвращает код выхода, который я могу использовать, чтобы узнать результатиз сравнения.

Любая помощь будет высоко ценится ...

Ответы [ 2 ]

0 голосов
/ 09 ноября 2011

Мой совет - устранить причину проблемы, а не ее симптомы.

При разработке вы должны стараться, чтобы ваши разработчики и ваш сервер сборки работали с одинаковым набором инструментов и исходного кода.код, так что вы знаете, что все вы получите последовательные результаты.Вы не можете гарантировать, что выходные данные двух разных версий инструмента всегда будут идентичны / совместимы.Простое несоответствие номеров версий не проблема, но что, если конечная программа, которую вы создаете, имеет небольшие различия в зависимости от того, кто ее создал?Фред никогда не сможет повторить и исправить ошибку, на которую жалуется ваш клиент.Или вы можете подумать, что вы исправили эту серьезную уязвимость безопасности ATL, пока однажды не поняли, что отправляете продукт со сборочного сервера, который не потрудились исправить.

Это довольно простой вопрос - иметьстандартизированный процесс установки (документ «как установить», за которым все внимательно следят, блок с правильным набором DVD-дисков и / или сетевая папка или папка с управлением исходным кодом, содержащая набор установщиков, которые будут использоваться, библиотеки, с которыми нужно связываться,и т.д.)

0 голосов
/ 09 ноября 2011

Вы можете использовать tf.exe и выполнить команду get для файлов XSD, и если она возвращает «Все файлы обновлены», вы знаете, что вам не нужно выполнять извлечение / gen / check при обработке

...