Хранилище TeamSource

Идентификация проекта и его составляющих в TeamSource

Структура системы TeamSource

Функционирование системы TeamSource основано на использовании подключае­мых модулей (plug-ins), разрабатываемых на основе TeamSource Extension API. Все операции над отдельными составляющими проекта осуществляются при по­мощи так называемых контроллеров, посредством которых реализуется доступ к хранилищу версий файлов проекта, генерация и обработка номеров версий фай­лов, заполнение комментариев к файлам и проектам, а также ряд других операций. Контроллеры располагаются в подключаемых модулях расширения, представля­ющих собой файлы с расширением tsx. В базовую поставку входят два подключае­мых модуля:

О izlib.tsx — основной контроллер версий, осуществляющий хранение файлов проекта в библиотеках формата ZLib (совместимого с форматом zip, но, в отли­чие от последнего, не требующего лицензирования);

G tscomments.tsx — контроллер ввода комментариев к файлам и проектам.

Версии проекта и его составляющих назначаются контроллером версий TeamSource. Номер версии составляющих проекта состоит из двух двузначных чисел. Основ­ной контроллер формирует версию каждой из составляющих проекта в момент помещения ее в хранилище, увеличивая на единицу правую часть номера версии, исходное значение которой (для первой версии файла, помещенной в хранилище) равно 1.0. Когда правая часть достигает значения 99, левая увеличивается на еди­ницу, а правая обнуляется.

ПРИМЕЧАНИЕ-----------------------------------------------------------------------------------

Можно также реализовать свой собственный генератор версий, создав специальное расширение TeamSource.

Версия проекта задается при его описании и не генерируется автоматически.

Отдельные версии проекта можно отмечать путем установки закладок (Bookmark). Установка закладки отмечает текущую версию всех составляющих проекта. Использование закладок в значительной степени упрощает управление файлами при проведении сборки проекта, а также при указании текущей версии проекта. При необходимости закладку можно снабдить комментариями.

Как уже отмечалось выше, хранилище TeamSource организовано по файловому принципу. Для каждого проекта выделяется каталог, называемый корневым (root), в котором создается структура подкаталогов и файлов, соответствующая файлам и каталогам, включенным в описание проекта. Изначально для каждого корневого каталога создается следующая структура файлов и подкаталогов:

G Archives — каталог, в котором содержатся версии файлов проекта. Файлы хра­нятся в архивированном виде, в формате ZLib. Каталог содержит все версии каждого из файлов проекта. Имена присваиваются файлам по следующему принципу: к имени исходного файла (включая и расширение) добавляется рас­ширение .z (например, файл project.dpr будет иметь имя project.dpr.z). Кроме файлов проекта данный каталог содержит еще два файла:

О файл с информацией о проекте (название проекта, версия TeamSource и уни­кальное имя контроллера версий, получаемое от соответствующего модуля расширения);

О файл, содержащий версию проекта;

Q History — каталог, в котором сохраняется информация об изменениях файлов в хра­нилище. Имена файлов в этом каталоге имеют вид <код даты и времени>.<имя ра­бочей станции>. Файл истории содержит имя пользователя, работавшего с про­ектом, дату и время сеанса, а также список измененных файлов;

Q Locks — каталог, предназначенный для хранения информации о блокировках. Обычно содержит один файл lockinfo.dat;

О logs.txt — журнал работы с проектом;

Q summary.txt — результирующие данные о каждом сеансе работы с проектом.