СТАТЬЯ |
09.07.01
|
ClearCase – система конфигурационного и версионного контроля
Новичков
Александр
технический специалист,
Interface Ltd.
Компьютер-пресс #5 2001
Статья была опубликована на сайте www.compress.ru
Для реализации полного контроля над версиями в специальную базу данных – VOB (Version Object Base) – заносятся все изменения данных проекта.
Репозитарии, хранящие всю промежуточную информацию о состоянии проекта, могут находиться в локальной сети как на одном компьютере, так и раздельно. Физически VOB представляет собой некую файловую структуру, закодированную особым образом. Основой VOB являются элементы, представляющие собой файлы или каталоги. Элемент должен и может иметь одну или несколько версий.
Все элементы VOB имеют свою уникальную версию. При создании VOB получает определенный набор характеристик, на основании которых в дальнейшем можно определить (при наличии соответствующих полномочий) историю его создания. Над VOB можно осуществлять операции монтирования/демонтирования, создания/удаления. Для работы с конкретным репозитарием каждый участник монтирует его на своем компьютере.
Создания одной только базы данных для полноценной работы в ClearCase недостаточно, необходим также клиент для доступа к ней. Для всех манипуляций над базой данных, в соответствии с правами пользователей, применяется механизм настраиваемых видов (VIEW), являющийся технологическим средством фильтрации находящейся в VOB информации и преобразующий все подмножество элементов со своими версиями в вид, понятный не только машине, но и человеку. Такой подход позволяет разработчику или техническому писателю видеть не все файлы, составляющие проект, а только необходимые для решения конкретной задачи. Таким образом, ClearCase позволяет достаточно легко абстрагироваться от текущего состояния и сосредоточиться на определенной части проекта.
Исключительно через систему видов возможны все операции, присущие не только ClearCase, но и любому другому средству версионного и конфигурационного контроля, такие как установка контроля файла (Add To Source Control), при котором для каждого элемента создается дерево версий, операции Check-in и Check-Out, позволяющие редактировать отдельный файл, создавая дерево версий, на котором отражена полная история развития отдельного элемента.
Рис. 5. История редактирования файла
Помимо этого ClearCase обеспечивает менеджеров проекта и разработчиков специальным модулем отчетности, с помощью которого можно получать справочную информацию об истории редактирования того или иного элемента в отдельности или группы элементов. Отчет может быть экспортирован в Microsoft Word (посредством инструмента SoDA), выведен на экран или опубликован в Интернете.
Виды в программе представлены двумя типами – Dynamic и Snapshot, имеющими свои достоинства и недостатки, но при совместном использовании способными открыть новые возможности в контроле над файлами.
Специфика вида Dynamic заключается в том, что данный вид (Windows NT, UNIX) создает виртуальную файловую систему, на которой размещаются все подконтрольные данные. Сама файловая система размещается также на виртуальном диске, физически размещенном на сервере. Для конечного пользователя в этом случае работа с таким видом сведется к работе с новым сетевым диском.
Данный способ позволяет осуществлять контроль над файлами в реальном масштабе времени. Основные преимущества данного способа представлены перенастраиваемыми видами. Эффективность использования особенно ярко проявляется Dynamic View в случаях, когда менеджерам необходимо одновременно контролировать несколько проектов, либо для настройки конфигураций, когда необходимо поддерживать одинаковые версии исходных файлов для разных операционных систем.
Вид типа Snapshot оправдывает свое название, создавая “снимок” текущего состояния проекта на локальной машине. Разработчик получает на своем диске точную копию либо всего проекта, либо необходимой его части – файла, группы файлов… Важным моментом при такой работе является синхронизация локальных данных с общим проектом, которая в данном случае выполняется не автоматически, а по команде пользователя. Это делает возможной удаленную работу над проектом, позволяя любому разработчику взять материал “на дом”, после чего вернуть новые версии файлов в проект.
Имея мощный набор инструментов, настраивающих вид, можно добиться поразительных эффектов, недоступных для других программ версионного контроля. Неоценимой является возможность параллельной разработки, когда программа допускает правку одного и того же файла несколькими разработчиками, создавая ответвление на дереве версий (одно или несколько – в зависимости от числа разработчиков, использующих данный файл).
Как уже говорилось ранее, для каждого файла создается дерево версий. Дерево состоит из корня и версионных ответвлений. Здесь следует отметить две разновидности ответвлений: простое ответвление (Branch), создаваемое для отдельного файла и в любых количествах, и главное ответвление (Private Branch) – для всего проекта, когда создается новая ветвь (может быть только одна) для всех файлов, составляющих проект.
Для объединения версий в ClearCase предусмотрена специальная утилита – MergeManager – менеджер слияний, который под контролем менеджера проекта собирает из двух предоставленных файлов один. Сборка осуществляется либо автоматически (тривиальная сборка), когда различия между файлами невелики, либо по выбранной менеджером проекта строке кода для слияния (нетривиальная сборка). По окончании слияния создается новая версия, которую далее также можно править, объединять с другими версиями, делать ответвления.
Слияние файлов можно производить как из ClearCase, так и из командной строки. Допускается слияние только текстовых файлов.
Из важных возможностей ClearCase следует также отметить создание видов на базе профилей, что может слегка усложнить и дерево версий, и понимание самой программы, зато позволяет особым образом настраивать систему видов для каждого участника проекта в отдельности: для разработчиков настройки могут быть одними, для сотрудников, ответственных за тестирование, – другими.
Программа обладает развитым интерфейсом и полностью использует возможности современных операционных систем. Для обеспечения максимальной производительности ClearCase (помимо графического интерфейса) имеет широкий набор команд для работы из командной строки.
Особо хочется отметить возможность сборки проекта. При помощи утилиты OMake возможна сборка проекта в исполняемый модуль. Утилита работает из командной строки и не зависит от типа используемого компилятора, главное – чтобы его можно было вызвать из командной строки. При этом сценарий сборки базируется на обычных make-файлах.
Интеграция со средствами разработки
ClearCase относится к той группе инструментов, которые при своих весьма широких функциональных возможностях все же неспособны полностью раскрыть их без интеграции со средствами разработки. ClearCase может быть совместно использован с таким популярным средством разработки, как Visual Studio.
Совместное использование этих двух продуктов обеспечивает дополнительную возможность управления версиями непосредственно из среды разработки. ClearCase встраивается в рабочее пространство VisualStudio, дополняя своими функциями меню программы.
Таким же образом интеграция происходит с Microsoft Word и Microsoft Front Page. В последних двух случаях появляется возможность слияния не только текстовых файлов, но и файлов с расширением DOC, XML, HTML.
В этих пакетах встраивание выглядит так же, как и в Visual Studio, – все функции контроля версий доступны через их главное меню.
Компания Rational посредством RUP регламентирует все этапы разработки программного обеспечения, объединяющего в себе все знания и опыт. Для каждого из приведенных в RUP этапов компанией Rational создано специальное программное обеспечение, в частности ClearCase. Расширив его за счет некоторых программных продуктов или дополнительных модулей, можно получить некоторые дополнительные возможности.
Рассмотрим продукты и модули, которые можно использовать совместно с ClearCase.
Рис. 6. История редактирования файла
Все современные средства коллективной разработки Rational обладают Web-интерфейсом, что само по себе очень логично в условиях территориально разбросанной команды и удаленного доступа части сотрудников. Особая необходимость в использовании Web-интерфейса как раз и открывается при распределенной разработке.
Рис. 7. Здесь приведено начальное окно, где
пользователь выбирает локально хранимые данные проекта и имя вида, к которому
производится подключение клиента
Интерфейс приложения прост и понятен, способ работы также не вызывает сложностей: все необходимые для работы файлы переносятся на локальный компьютер и модифицируются любым известным способом. Доступ к тем или иным файлам репозитария осуществляется посредством выбора соответствующего вида, предварительно физически созданного на сервере (например, отдельный вид для разработчиков, технических писателей и т.д.). Отредактированные файлы возвращаются обратно в систему. Web-доступ организуется c помощью Internet Information Server или Web-серверов Netscape
Рис. 8. Так выглядит окно работы с проектами.
В верхней части браузера — наименования доступных в данный момент операций
Некоторые особенности ClearCase
Многое из вышеоописанного, возможно, уже знакомо читателям, применявшим сходные средства контроля и управления.
Хочется еще раз отметить особенность использования ClearCase в Windows NT: этот продукт обладает мощным графическим пользовательским интерфейсом и мощным интерфейсом командной строки. Соответственно каждая операция может быть выполнена двумя различными способами. Командная строка позволяет подстраивать продукт под конкретные нужды конкретной компании. Без помощи командной строки достаточно сложно произвести некоторые тонкие настройки, имеющие отношение к работе с данными.
Каждая операция, производимая над данными, предварительно описывается как значимая и неделимая. Набор таких описаний и правил носит название Configuration Management и является частью методологии RUP.
Configuration Management полностью регламентирует, что, как и кем должно делаться в проекте и как использовать для этих целей ClearCase. Согласитесь, мало иметь инструмент, нужно уметь им пользоваться.
Попытаемся рассмотреть (схематично), каким образом ClearCase позволяет контролировать проект. Для этого обратимся к настройке видов и осуществим слияние версий.
Подробности о ClearCase и ознакомительную версию продукта можно найти на Web-сайте компании Rational Software Corporation www.rational.com.
Дополнительную информацию Вы можете получить в компании Interface Ltd.
Отправить
ссылку на страницу по e-mail
Обсудить на форуме Rational Software
Interface Ltd. Отправить E-Mail http://www.interface.ru |
|
Ваши
замечания и предложения отправляйте
автору По техническим вопросам обращайтесь к вебмастеру Документ опубликован: 16.07.01 |