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

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

Archive for the ‘Version Control FAQ’ Category

Можно ли подключить Eclipse к MS TFS 2010?

Posted by Шамрай Александр на Май 28, 2010

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

Для подключения Eclipse к MS TFS 2010 можно использовать утилиты Microsoft Visual Studio Team Explorer Everywhere 2010, которые находятся на следующей странице: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=af1f5168-c0f7-47c6-be7a-2a83a6c02e57. Для Eclipse необходимо скачать плагин «TFSEclipsePlugin-UpdateSiteArchive-10.0.0.zip», который и позволяет получить доступ к проектам TFS (рабочим элементам, версионному хранилищу, документам, отчетам).

После установки плагина появится отдельная перспектива, которая называется Team Foundation Server Exploring.

Рисунок 1. Team Foundation Server Exploring

После выбора этой перспективы можно выполнять подключение к любому проекту на TFS и содержимое Team Explorer в Eclipse будет полностью отображать всю реальную структуру проекта TFS.

Рисунок 2. Team Explorer в Eclipse

Team Explorer в Eclipse позволяет как и в стандартном клиенте Visual Studio регистрировать, изменять и получать с помощью запросов рабочие элементы. Запросы по рабочим элементам поддерживают все 3-и вида отображения результатов запросов (обычный список, список с прямыми связями и дерево рабочих элементов). Формы рабочих элементов в Eclipse также максимально соответствуют формам в Visual Studio.

Рисунок 3. Результат запроса по рабочим элементам

Все типы связей между рабочими элементам, а также версионными объектами и объектами тестирования, тоже поддерживаются в Team Explorer для Eclipse.

Рисунок 4. Создание связанного рабочего элемента

Все необходимые операции над объектами версионного хранения (изъятие на редактирование, возврат, отложить, создать ветвь, объединить ветви и т.д.) доступны как из Team Explorer для Eclipse так и из перспектив разработки.

Рисунок 5. Функции версионного контроля

Кроме этого в перспективе разработки можно использовать панель Pending Changes, которая позволяет быстро отследить какие файлы находятся на изменении и непосредственно из этой панели выполнить возврат этих файлов под версионный контроль.

Рисунок 6. Панель Pending Changes

При возврате изменений на сервер TFS можно выполнять связывание изменений с рабочими элементами и автоматически может быть выполнен перевод соответствующих рабочих элементов в следующее состояние.

Рисунок 7. Связывание изменений и рабочих элементов

Также доступны следующие политики регистрации для системы версионного контроля:

  • Политики сборки
  • Проверка комментариев
  • Проверка связанных рабочих элементов
  • Проверка соответствия запросу рабочих элементов
  • Запрещенные шаблоны

Рисунок 8. Политики версионного контроля

Отчеты также можно просматривать из Team Explorer для Eclipse.

Рисунок 9. Отчеты в Eclipse

Реклама

Posted in Admin FAQ, Microsoft, Team Foundation Server FAQ, Version Control FAQ, Visual Studio, Work Item Tracking FAQ | Отмечено: , , , , , , | Leave a Comment »

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

Posted by Шамрай Александр на Сентябрь 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

Posted in Microsoft, Team Foundation Server FAQ, Version Control FAQ, Visual Studio | Отмечено: , , , , , | 1 Comment »

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

Posted by Шамрай Александр на Август 13, 2009

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

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

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

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

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

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

Posted in Microsoft, Team Foundation Server FAQ, Version Control FAQ, Visual Studio | Отмечено: , , , , , | Leave a Comment »

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

Posted by Шамрай Александр на Август 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

Posted in Microsoft, Team Foundation Server FAQ, Version Control FAQ, Visual Studio | Отмечено: , , , , , | Leave a Comment »

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

Posted by Шамрай Александр на Июль 22, 2009

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

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

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

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

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

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

Posted in Microsoft, Team Foundation Server FAQ, Version Control FAQ, Visual Studio | Отмечено: , , , , , | Leave a Comment »

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

Posted by Шамрай Александр на Июль 21, 2009

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

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

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

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

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

Posted in Microsoft, Team Foundation Server FAQ, Version Control FAQ, Visual Studio, Work Item Tracking FAQ | Отмечено: , , , , , | Leave a Comment »

 
%d такие блоггеры, как: