Вы находитесь на страницах старой версии сайта.
Переходите на новую версию Interface.Ru

Кому и зачем нужен ClearCase.
Часть 1. Репозиторий

Новичков А.Н.

Введение

Начиная с данной статьи, мы с вами будем по шагам исследовать такой неординарный продукт, как ClearCase. Открытая недавно рубрика “Мастерская ClearCase” накладывает свой отпечаток на стилистику изложения материала, так как “мастерская” подразумевает пошаговое изучение программного продукта с нуля до приличного уровня…

К выпуску планируется несколько связанных между собой статей, в которых по шагам исследуются возможности программы по принципу “от простого к сложному”. В трилогии планируется затронуть практические аспекты применения программы на реальных примерах. Далее я постараюсь привести примерный план планируемых к размещению статей, а всем заинтересованным в дальнейшем продолжении трилогии предлагается присылать мне вопросы и предложения, связанные с тематикой ClearCase. Анализируя Ваши письма, мне будет легче планировать тематику дальнейших статей, создавая материал, наиболее точно соответствующий всем веяниям в кругах разработчиков. ClearCase – в массы!

Читаемый материал (статья номер 3) предполагает быстрое введение в сам продукт и в предметную область контроля версий, далее планируется описать интерфейс и особенности продукта. В следующих статьях хочется осветить следующие вопросы: Web-интерфейс, бренчи, слияние версий, формат репозиториев, формат видов, синхронизация реплик VOB при помощи MultiSite, команды ClearCase и MultiSite, механизмы интеграции со средствами разработки на примере Visual C++, механизмы лицензирования продукта.

Общие подробности программы

ClearCase – инструментальное средство, позволяющее управлять процессом создания программного продукта. Управление осуществляется посредством контроля версий всех входящих в состав проекта файлов, предоставляя администраторам, разработчикам и менеджерам получать полную информацию о текущем состоянии проекта. Проще говоря, программа создает специальную базу данных (VOB), в которой хранит всю сопроводительную информацию обо всех файлах с их версиями, которые были поставлены под контроль, в сопроводительной информации также указывается, кто и когда внес изменения в конкретную версию проектного файла или директории. Вся история изменений отображается в графическом виде, в форме дерева версий.

ClearCase позволяет решить многие проблемы, сопровождающие проект, в котором участвует более одного человека. Например, такая проблема, как синхронизация версий одного исходного файла, над которым трудились два-три (и более) программиста, в обычной жизни сведется к простому механическому труду объединения трех подверсий файлов в один, с неизбежной в таком случае потерей времени, которого всегда не хватает. Вторым примером может служить ситуация, когда разработчики вынуждены брать определенный объем работ на дом или в командировку, проводя соответствующие изменения в отрыве от офиса. Здесь проблема возникнет, когда разработчик придет в офис и попытается вставить в проект свою часть работы. При этом у него также возникнут проблемы с объединением, слиянием нескольких файлов для создания новой версии.

Я затронул только две наиболее типичные проблемы, которые объединяют все софтверные фирмы и на решения которых уходит драгоценное проектное время. Все проблемы перестают быть проблемами, как только ваша компания внедряет у себя программу ClearCase, чьей прямой обязанностью является прозрачное решение всех описанных проблем.

ClearCase одним из первых продуктов SCM (Source Code Management) включил в себя не только возможности контроля версий, но и управление рабочим пространством при помощи инвариантного подхода, пользуясь которым, разработчики смогут разрабатывать качественные программные продукты в короткие сроки, поддерживать уже созданные продукты, не путаясь в их версиях. Основное же отличие от конкурентов состоит не только в том, что у ClearCase более глобальный подход к решению задачи контроля версий, но и в том, что данная программа при помощи специальной утилиты “oMake” позволяет собирать проект в исполняемый файл. Подобную возможность не предоставляет ни один из конкурирующих пакетов.

Основные особенности ClearCase:

ClearCase тесно интегрируется со всеми инструментальными средствами компании Rational, некоторые из которых дополняют его функциональность. Например, Rational SoDA позволяет менеджерам и администраторам документировать, описывать текущее состояние проекта, основываясь на той информации, которая предоставляет SoDA.

Как видно из материала, ClearCase представляет собой серьезный и достойный продукт, помогающий выпускать софтверным компаниям более качественные программные продукты в реальные сроки. Тесная интеграция с наиболее популярными средами разработки приложений делает возможным получать доступ к проектной информации, пользуясь привычными инструментами.

ClearCase поддерживает многие платформы, но вся дальнейшая информация в статье будет касаться только его реализации под Windows.
Для данной платформы Rational выпускает продукт в двух вариантах:

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

Второй вариант – это усеченная версия продукта в которой не реализованы все функции полного продукта. Единственным плюсом Attache является его способность запускаться на платформах: Win3.0, Win3.1, Win95/98/NT.

Создание VOB

Дальнейшее описание продукта пойдет с тематическим разделением. Далее мы примемся описывать наиболее интересные аспекты использования ClearCase в соответствии с планом, приведенном в начале статьи.

Данная часть позволит познакомиться Вам с механизмом, составляющим основу ClearCase, – созданием репозиториев, на основе которых строятся дальнейшие отношения с программой.

Если вкратце описать принцип работы пользователя в программе ClearCase, то получается следующий алгоритм:

  1. Создается VOB (один или несколько)
  2. Создается VIEW (один или несколько)
  3. Необходимые проектные файлы ставятся под контроль в одном из VIEW
  4. Сборка проекта

Словесное описание пунктов можно выразить так: создается одна или несколько баз данных (VOB), на их основе строятся виды (VIEWs), с которыми и работают все пользователи, создавая нужное количество. Любая операция постановки файлов под контроль сводится к копированию нужного файла на виртуальный диск, создаваемый VIEW. Далее к файлу применяются стандартные операции версионного контроля: “check in” и “check out”, позволяющие включать или выключать контроль над файлами. Любой пользователь в любой момент может создать ответвление (branch) для самостоятельной правки, по окончании которой ClearCase объединит полученную версию с проектной (закроет ветвь). Итогом всей работы является сборка проекта про помощи “oMake“.

Соответственно, основой любого проекта, или даже самим проектом, является VOB – Version Object Base – защищенный, масштабируемый репозиторий, хранящий в себе всю историю всех компонентов проекта. VOB – основа, фундамент любого проекта.

VOB представляет собой набор файлов и директорий, которые физически хранятся на выделенном компьютере. Репозиторий создается только в открытых (shared) каталогах. Собственный физический формат VOB не документирован. Все операции над файлами и каталогами делаются только через виртуальную файловую систему MVFS.

Спецификой ClearCase можно считать его UNIX корни, что выражается в особенных нотациях при вводе команд, нетипичных для пользователей Windows систем. Например, любой созданный можно отключить командой MOUNT и отключить командой UNMOUNT, что не очень типично для Windows.

Любая операция в ClearCase выполняется двумя способами: либо через графическую оболочку либо через командную строку. В зависимости от ситуации и степени подготовленности пользователя можно применять данные способы, как по раздельности, так и по очереди.

Создание VOB из оболочки

После запуска Clear Case Home Base на экране появляется окно, в котором находятся все рычаги управления программой. Нас интересует VOBs.

Как видно из представленного рисунка – графическая часть программы имеет достаточно дружественный интерфейс. Из четырех представленных операций нас интересует Create VOB.

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

На следующем витке программе необходимо указать место создания репозитория в формате:

\\имя_хоста\директория\имя_VOB.vbs

В качестве имени хоста используется сетевое имя компьютера, затем следует наименование открытой (shared) директории, в которой планируется создать VOB. Подобная нотация освобождает пользователя от необходимости знать физический путь к VOB, что очень удобно при раздельном управлении, когда данные разбросаны по дискам.

На последнем шаге можно задать имя мастер VOBа (административного) из числа смонтированных. Если было задан такой VOB, то создаваемый будет находиться в полном подчинении ему (станет дочерним VOB (subvob)). Пункт Reconnect the VOB at logon time заставит ClearCase автоматически монтировать VOB при входе в систему (по умолчанию флажок является выбранным).

Результатом всех вышеописанных действий будет создание VOB. Вход в него станет доступен на уровне виртуальной файловой системы MVFS только после создания специального VIEW, ориентированного на данный VOB.

Рассмотрим процесс создания VOB из командной строки.

Для работы на командном уровне необходимо воспользоваться инструментом cleartool, представляющем собой интерпретатор командной строки. Утилита запускается из пункта Start->Programs->ClearCase->ClearTool, либо из командной строки командой “cleartool”. В результате на экран выведется окно с приглашением “cleartool>”. Теперь возможен ввод команд ClearCase.

Version Object Base создает команда “mkvob” (make vob). Синтаксис выглядит следующим образом:

Mkvob [-c comment] [-tag vob_tag] [\\path]

Это простейший формат данной команды, в котором рассматриваются следующие настройки:

-с – задает комментарий для VOB

-tag – задает имя VOB

\\path - полный путь к создаваемому VOB

Рассмотрим, в качестве примера, следующую команду:

mkvob -c "alex" -tag \alloiz \\Novichkov\1\alloiz.vbs

Описание выглядит следующим образом: создать VOB с именем “alloiz”, присвоить комментарий “alex”. Хранить репозиторий надлежит в “alloiz.vbs” по указанному адресу к открытому каталогу “1”.

При верном исполнении всех инструкций, по окончании создания VOB будет выведена статистика (тесно связанная с настройкой конкретного хоста) примерно такого вида:
 
Created versioned object base.
Host-local path: Novichkov:C:\1\alloiz.vbs
Global path: \\Novichkov\1\alloiz.vbs
VOB ownership:
owner NOVICHKOV\Administrator
group NOVICHKOV\None
VOBs have special data backup considerations. For more information on how to
back up your VOB properly, see the documentation for administering ClearCase.
If the backups aren't done properly, you are putting your data at risk!
cleartool>

Теперь необходимо смонтировать VOB командой “mount \alloiz”, что приведет к монтированию файловой системы MVFS для VOB “\alloiz” (при безошибочном исполнении команды, выведется следующая информация: “Mounting MVFS filesystem \alloiz”)

Список всех имеющихся VOBов всегда можно узнать при помощи команды “lsvob”.

Основные особенности VOB:

Рассмотренный материал является лишь малой частью того, что можно делать с репозиториями. Об этих, и многих других, возможностях мы поговорим на страницах следующих статей.

Эту же часть хочется закончить анонсом того, что будет затронуто в будущем. В четвертой части планируется описать способы создания View и постановку файлов под контроль.

Следующая часть

За дополнительной информацией обращайтесь в компанию Interface Ltd.

Обсудить на форуме

Рекомендовать страницу

INTERFACE Ltd.
Телефон/Факс: +7 (495) 925-0049
Отправить E-Mail
http://www.interface.ru
Rambler's Top100
Ваши замечания и предложения отправляйте редактору
По техническим вопросам обращайтесь к вебмастеру