Контроль исходного кода (Source control)

Team Foundation Server реализует репозиторий управления исходным кодом, называемый Team Foundation Version Control (TFVC). В отличие от предыдущего решения Microsoft по контролю кода, Visual SourceSafe (VSS), которое основывалось на механизме файлового хранения, Team Foundation хранит весь код, равно как и запись обо всех изменениях кода в базе данных под управлением SQL Server. Поддерживаются такие особенности, как например, одновременная множественная блокировка кода для изменения (multiple simultaneous check-outs) (то есть один и тот же файл одновременно могут редактировать несколько человек), разрешение конфликтов, откладывание внесения изменений (shelving) (здесь имеется в виду сохранение набора запланированных изменений без их подтверждения в системе контроля версий, причем другие пользователи могут видеть эти наборы, но доступа к ним без явно предоставленного разрешения не получат), ветвление и слияние, а также возможность устанавливать уровни доступа (безопасности) на любом уровне дерева исходного кода, наряду с наиболее очевидными возможностями отслеживания версий документации, блокировок, откатов и операций подтверждения микроизменений (atomic commits). Механизм контроля исходного кода напрямую связан с рабочими элементами Team System; При подтверждении изменений (check-in) (иначе называемом еще «набором изменений» (changeset)) разработчик может определять взаимосвязь его кода с одним или более определенными рабочими элементами для указания какие именно проблемы решает данное подтверждение (check-in). Администраторы TFS могут принудительно указывать политики подтверждений (check-in policies), которые предусматривают удовлетворение требованиям Code Analysis, а кроме того можно поставить обязательное указывание рабочих элементов, связанных с данным подтверждением, или обновление статуса связанных рабочих элементов (как например, указание ошибки как «исправленной» при внесении изменений в код, исправляющих данную ошибку). Отдельные версии файлов могут отмечать специальными метками, а все файлы с одинаковыми метками образуют релиз-группу. В отличие от VSS, репозиторий контроля кода TFS не обладает ни поддержкой привязки к элементу из нескольких мест структуры каталогов исходного кода, ни поддерживает «закрепления» (pinned) элемента (то есть поддержка различных ссылок на один и тот же файл из нескольких каталогов для различных версий чтобы избежать дальнейших правок этого файла).

TFVC поддерживает ветвление на всех уровнях исходного кода, а также для отдельных файлов и каталогов, причем каждая ветвь поддерживается отдельно. Несколько ветвей можно объединить в одну с указанием порядка (алгоритма) разрешения конфликтов при слиянии изменений двух ветвей одного файла, тогда программа сама автоматически согласует различия или отметит их для ручной проверки, если сама с ними не справится. Слияние может быть выполнено и на уровне набора изменений («changeset»), вместо уровня ветвления. Успешное слияние автоматически отмечается (check out) в репозитории контроля кода.

Возможности TFVC не ограничены лишь исходным кодом, с помощью встраивания инфраструктуры Windows SharePoint Services он обеспечивает поддержку библиотеки версий документов проекта, включая планы проекта, требования, анализ специфики проекта и другие. Все документы в репозитории контроля кода могут связываться с любым рабочим элементом, а доступ к ним может контролироваться за счет введения политики доступа (ограничения прав).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: