Декілька слів про інтеграцію в TFS системи керування дефектами з системою керування версіями

Декілька слів про інтеграцію в TFS системи керування дефектами з системою керування версіями

Введення.


Продовжую дивуватися досвідом переходу з SVN на TFS (або як правильно підмітили Team Foundation Version Control (TFVC)).

У попередньому пості був описаний досвід суто системи управління версіями.

У цьому пості я хотів би поділитися маленьким (але важливим) сценарієм використання інтеграції системи «контролю версіями» з системою «управління дефектами» (або як це називається Work Item Tracking).

Один з найбільш частих (у мене, і як мені видається в інших) сценаріїв інтеграції систем «контролю версій» і «управління дефектами» це прив'язка до «дефекту» релевантних змін у «контролі версій». Часто так виходить, що один «дефект» (або завдання) вирішується за допомогою декількох змін (ревізій).

Здається, що цей сценарій абсолютно не підтримується SVN і відмінно з коробки підтримується TFS, принаймні так представляють справу продавці від Microsoft.

Насправді ми використовуємо в SVN простий прийом, який дозволяє кілька речей:

- насамперед можна пов'язати кожну ревізію SVN з деякою кількістю «дефектів» TFS;

- і навпаки, кажий дефект можна пов'язати з деякою кількістю ревізій;

- далі у вікні історії можна бачити колонку з номерами TFS дефектів для кожної ревізії;

- зрозуміло, що по кліку відкривається веб інтерфейс дефекту;

- природно історія редагується (тобто дефекти можна змінювати).

Програміст коли виконує коміт, може вказати номер дефекту:

Історія показує колонку з номерами дефектів:

Історія, реалізована TortoiseSVN, забезпечує дуже легкий спосіб знаходження всіх ревізій, що відносяться до конкретного «дефекту»: просто пишеш номер «дефекту» у фільтрі історії і отримуєш відразу всі зміни даного дефекту. Позначаючи фільтровані ревізії можна бачити відразу всі файли даних ревізій.

Не з коробки? Ну так. Може бути кустарно виглядає? Можливо.

Тепер подивимося який рівень інтеграції я отримав на TFS (контроль версій і управління дефектами). Мені відомо 3 способи роботи з TFS (виключаючи командний рядок): з Windows explorer, з Visual Studio і через веб-інтерфейс.

Робимо «Check in» з Windows Explorer (Power Tools 2013): Таб «Work Items» дозволяє шукати «дефект» за номером тільки в поточному запиті. Якщо з якоїсь причини немає запиту - немає кіміту. Так що, пржде чим чекнути переконайся в наявності трапа запиту, за яким можна знайти «дефект».

Робимо «Check in» з Visual Studio: Студія дозволяє додати номер «дефекту» за запитом і власне номером.

Веб-інтерфейс для даного сценарію не релевантний.

Тепер як шукати ревізії за номером «дефекту»:

Windows Explorer (Power Tools 2013) не має пошуку, щоб дізнатися який «дефект» прив'язаний до ревізії, потрібно вибрати ревізію і перемкнути таб. Таким чином знайти всі ревізії даного «дефекту» не представляється можливим.

Студія так само не має пошуку (ревізій по «дефекту»), але дозволяє по «дефекту» (таб Links) дізнатися його ревізії. Тепер можна клікати за цими лінками, щоб побачити які файли були змінені. Не знайшов способу побачити всі змінені файли (та й у Студії це просто не зручно).

Веб-інтерфейс звичайно більш квітне і непоганий для візуалізації змін однієї ревізії, але все одно не походить для декількох ревізій.

Вивід:

Power Tools виглядає убого для даного сценарію. Студія виграє у TortioseSVN за рахунок запитів при чекіні.

Пошук і візуалізація змін (особливо коли є кілька ревізій) істотно краще підтримується в TortioseSVN.

Трохи (або багато) дратує зміна інструментів (Power Tools, Studio і web), так немає такого, який працює краще за інших.

Зауваження:

- Вибачте за термінологію: іноді збиваюся.

- Згоден, що я «не розібрався в TFS перш ніж використовувати». Допоможіть розібратися.

COM_SPPAGEBUILDER_NO_ITEMS_FOUND