Опубликовал Шамрай Александр на Сентябрь 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 |
/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 | Помечено: FAQ, Microsoft, Team Foundation Server, Team System, tfs, Visual Studio | Оставьте комментарий »
Опубликовал Шамрай Александр на Август 13, 2009
<< Перейти в раздел «Team Foundation Version Control FAQ»
В TFS предусмотрены механизмы проверки выполнения тестов перед постановкой выполненных изменений под версионный контроль. Основной принцип заключается в том, что когда выполняется возврат изменений, просматривается, был ли удачно выполнен на локальной машине необходимый тест. Если тест не был пройден, то разработчик не сможет положить свои изменения на сервер, до тех пор, пока его не пройдет с положительным результатом. Для того чтоб включить проверку на удачное выполнение тестов, необходимо сделать следующее:
- Правой клавишей мыши на проекте в командном обозревателе выбрать «Параметры командного проекта – Система управления версиями…»

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

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

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

Рубрика: Microsoft, Team Foundation Server FAQ, Version Control FAQ, Visual Studio | Помечено: FAQ, Microsoft, Team Foundation Server, Team System, tfs, Visual Studio | Оставьте комментарий »
Опубликовал Шамрай Александр на Август 9, 2009
<< Перейти в раздел «Team Foundation Version Control FAQ»
Иногда присутствует необходимость забрать проект (например, домой, если что-то не успеваем) и после зарегистрировать все сделанные вне офиса наработки в общем репозиторие. Встроенных инструментов в TFS для такого вида работ нет. Основная проблема в этом случае заключает в том, что заранее не известно какие файлы будут изменены, а после неочевидно какие были отредактированы. Поэтому в этом случае стоит использовать некую автоматизацию (написать отдельный скрипт) процесса возврата исходного кода примерно в следующем порядке:
- Когда необходимо вернуть исходный код в репозиторий TFS, измененный вне офиса проект копируется в отдельную папку.
- Далее с помощью утилиты сравнения из командной строки (например, windiff) выполняется сравнение этой папки с рабочим пространством.
- Скрипт анализирует результат работы утилиты сравнения и если будут найдены различия в файлах, то:
- С помощью утилиты командной строки “tf.exe” необходимо выполнить check-out для файла.
- Измененный файл копируется в рабочее пространство.
- После окончания процесса анализа и копирования необходимо проверить правильно ли все прошло и выполнить 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 | Помечено: FAQ, Microsoft, Team Foundation Server, Team System, tfs, Visual Studio | Оставьте комментарий »
Опубликовал Шамрай Александр на Июль 22, 2009
<< Перейти в раздел «Team Foundation Version Control FAQ»
Автоматический анализ кода помогает организовать поставку изменений в версионное хранилище только соответствующих определенным стандартам безопасности, наименования и т.д. Для того чтоб включить эту проверку для проекта TFS необходимо выполнить следующие шаги:
- Правой клавишей мыши на проекте в командном обозревателе выбрать «Параметры командного проекта – Система управления версиями…»

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

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

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

Рубрика: Microsoft, Team Foundation Server FAQ, Version Control FAQ, Visual Studio | Помечено: FAQ, Microsoft, Team Foundation Server, Team System, tfs, Visual Studio | Оставьте комментарий »
Опубликовал Шамрай Александр на Июль 21, 2009
Рубрика: Microsoft, Team Foundation Server FAQ, Version Control FAQ, Visual Studio, Work Item Tracking FAQ | Помечено: FAQ, Microsoft, Team Foundation Server, Team System, tfs, Visual Studio | Оставьте комментарий »