Хранилище 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 — результирующие данные о каждом сеансе работы с проектом.