Заметки консультанта

Шамрай Александр Владимирович

Архив рубрики ‘Version Control FAQ’

Как заменить стандартный инструмент сравнения / слияния TFS

Опубликовал Шамрай Александр на Сентябрь 4, 2009

<< Перейти в раздел «Team Foundation Version Control FAQ»

Как стандартный инструмент для слияния и сравнения различных версий файлов в TFS 2008 используется утилита «C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\diffmerge.exe». Если функционал этой утилиты не вполне удовлетворяет или для некоторых типов файлов лучше использовать другие инструменты (например, для XML, MS Word), то можно заменить его на любой другой, который позволяет работать с параметрами из командной строки. Сделать это можно из MS Visual Studio в параметрах Tools -> Options -> Source Control -> Visual Studio Team Foundation Server -> Configure user tools.

При конфигурировании можно задать для каких типов файлов применять утилиты, для какого действия (сравнения или слияния), какую утилиту использовать и в какой последовательности подставлять параметры командной строки. Можно использовать следующие параметры:

  • %1 Первоначальный файл – файл, который был до изменений;
  • %2 Измененный файл – файл, который содержит последние изменения
  • %3 Базовый файл – первоначальный файл, т.е. если изменения выполнялись над одним файлом двумя разработчиками, и последний выполняет слияние, то первоначальный файл – это файл первого разработчика, измененный – это файл второго разработчика, базовый – это общий предок этих двух файлов
  • %4 Объединенный файл – собственно результат
  • %5 Параметры командной строки Diff (tf diff)
  • %6 метка первоначального файла %1
  • %7 метка измененного файла %2
  • %8 метка базового файла %3
  • %9 Метка объединенного файла %4

Примеры параметров для инструментов сравнения

Product

Command

Arguments

TFS default diffmerge.exe %1 %2 %6 %7 %5 /ignorespace
WinDiff windiff.exe %1 %2
DiffDoc (for Word files) DiffDoc.exe /M%1 /S%2
WinMerge winmerge.exe /ub /dl %6 /dr %7 %1 %2
Beyond Compare bc2.exe %1 %2 /title1=%6 /title2=%7
KDiff3 kdiff3.exe %1 –fname %6 %2 –fname %7
Araxis compare.exe /wait /2 /title1:%6 /title2:%7 %1 %2
Compare It! Wincmp3.exe %1 /=%6 %2 /=%7
SourceGear DiffMerge DiffMerge.exe /title1=%6 /title2=%7 %1 %2
Beyond Compare 3 BComp.exe %1 %2 /title1=%6 /title2=%7
TortoiseMerge TortoiseMerge.exe /base:%1 /mine:%2 /basename:%6 /minename:%7
Visual SlickEdit win\vsdiff.exe %1 %2

Примеры параметров для инструментов слияния

Product

Command

Arguments

TFS default diffmerge.exe /merge %1 %2 %3 %4 %6 %7
KDiff3 kdiff3.exe %3 –fname %8 %2 –fname %7 %1 –fname %6 -o %4
Visual SourceSafe ssexp.exe /merge %1 %2 %3 %4 %6 %7
Araxis compare.exe /wait /swap /a3 /3 /title1:%6 /title2:%7 /title3:%8 %1 %2 %3 %4
Beyond Compare (2-way merge) bc2.exe %1 %2 /savetarget=%4 /title1=%6 /title2=%7
WinMerge (2-way merge) winmerge.exe /ub /dl %6 /dr %7 %1 %2 %4
Guiffy guiffy.exe -s -h1%6 -h2%7 -hm%9 %1 %2 %3 %4
Ellie Computing guimerge.exe –mode=merge3 %3 %1 %2 –to=%4 –title0=%8 –title1=%6 –title2=%7 –to-title=%9
SourceGear DiffMerge DiffMerge.exe /title1=%6 /title2=%8 /title3=%7 /result=%4 %1 %3 %2
Beyond Compare 3 BComp.exe %1 %2 %3 %4 /title1=%6 /title2=%7 /title3=%8 /title4=%9
TortoiseMerge TortoiseMerge.exe /base:%3 /mine:%2 /theirs:%1 /basename:%8 /minename:%7 /theirsname:%6 /merged:%4 /mergedname:%9
Visual SlickEdit win\vsmerge.exe %3 %1 %2 %4

 

Оригинальный источник: http://blogs.msdn.com/jmanning/articles/535573.aspx

Рубрика: Microsoft, Team Foundation Server FAQ, Version Control FAQ, Visual Studio | Помечено: , , , , , | Оставьте комментарий »

Как включить проверку на выполнение тестов при возврате изменений в TFS

Опубликовал Шамрай Александр на Август 13, 2009

<< Перейти в раздел «Team Foundation Version Control FAQ»

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

  • Правой клавишей мыши на проекте в командном обозревателе выбрать «Параметры командного проекта – Система управления версиями…»

  • В окне параметров выбрать вкладку «Политики возврата» и нажать кнопку «Добавить…». В Появившемся окне нужно выбрать «Политика тестирования».

  • Далее необходимо выбрать файл метаданных тестов (vsmdi) проекта и отметить те тесты, которые должны быть успешно пройдены перед возвратом изменений на сервер TFS

  • В дальнейшем при попытке вернуть изменения на сервер TFS не выполнив необходимые тесты, будет появляться соответствующее сообщение.

Рубрика: Microsoft, Team Foundation Server FAQ, Version Control FAQ, Visual Studio | Помечено: , , , , , | Оставьте комментарий »

Как организовать оффлайн разработку в TFS

Опубликовал Шамрай Александр на Август 9, 2009

<< Перейти в раздел «Team Foundation Version Control FAQ»

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

  1. Когда необходимо вернуть исходный код в репозиторий TFS, измененный вне офиса проект копируется в отдельную папку.
  2. Далее с помощью утилиты сравнения из командной строки (например, windiff) выполняется сравнение этой папки с рабочим пространством.
  3. Скрипт анализирует результат работы утилиты сравнения и если будут найдены различия в файлах, то:
    1. С помощью утилиты командной строки “tf.exe” необходимо выполнить check-out для файла.
    2. Измененный файл копируется в рабочее пространство.
  4. После окончания процесса анализа и копирования необходимо проверить правильно ли все прошло и выполнить check-in для всех изменений.

Обсуждение темы на форуме MSDN: http://social.msdn.microsoft.com/Forums/ru-RU/ruvsts/thread/e9670b6f-064d-4587-9c20-9262c83c46c4

Рубрика: Microsoft, Team Foundation Server FAQ, Version Control FAQ, Visual Studio | Помечено: , , , , , | Оставьте комментарий »

Как включить автоматический анализ кода при возврате изменений TFS

Опубликовал Шамрай Александр на Июль 22, 2009

<< Перейти в раздел «Team Foundation Version Control FAQ»

Автоматический анализ кода помогает организовать поставку изменений в версионное хранилище только соответствующих определенным стандартам безопасности, наименования и т.д. Для того чтоб включить эту проверку для проекта TFS необходимо выполнить следующие шаги:

  • Правой клавишей мыши на проекте в командном обозревателе выбрать «Параметры командного проекта – Система управления версиями…»

  • В окне параметров выбрать вкладку «Политики возврата» и нажать кнопку «Добавить…». В Появившемся окне нужно выбрать «Анализ кода».

  • Выбрать необходимые правила проверки. Если какие-то пункты являются критическими, то для них можно указать «Рассматривать предупреждение как ошибку»

  • В дальнейшем, при попытке вернуть на сервер TFS неудовлетворяющие выбранным стандартам изменения, будет отображена следующая ошибка:

Рубрика: Microsoft, Team Foundation Server FAQ, Version Control FAQ, Visual Studio | Помечено: , , , , , | Оставьте комментарий »

Как ассоциировать изменения с рабочими элементами TFS

Опубликовал Шамрай Александр на Июль 21, 2009

<< Перейти в раздел «Team Foundation Work Item Tracking FAQ»

Для того чтоб связать внесенные изменения в версионную систему с рабочими элементами, необходимо выполнять следующие действия:

  • При возврате (check in) изменений на сервер TFS на форме регистрации необходимо выбрать вкладку «Рабочие элементы»
  • Выбрать запрос, с помощью которого можно получить доступ к необходимому рабочему элементу
  • Выбрать необходимый рабочий элемент и действие:
    • Партнер – изменения ассоциируются с рабочим элементом
    • «Наименование действия» – при ассоциации изменений рабочий элемент переводится в следующее состояние

  • После удачной регистрации изменений, информация о них должны появиться на вкладке «Ссылки» рабочего элемента

<< Перейти в раздел «Team Foundation Version Control FAQ»

Рубрика: Microsoft, Team Foundation Server FAQ, Version Control FAQ, Visual Studio, Work Item Tracking FAQ | Помечено: , , , , , | Оставьте комментарий »