Метаданные ClearCase

advertisement
Глава 12
Использование метаданных
Конфигурационное
управление с
применением ClearCase
Использование метаданных
Глава 12
1
Цели
Изучив эту главу, вы сможете:
•Понимать, что такое метаданные
ClearCase
•Использовать метки
•Использовать атрибуты
•Использовать гиперссылки
•Ознакомиться с механизмом настройки
стиля использования ClearCase,
основанном на триггерах.
Глава 12
2
Метаданные ClearCase – Обзор.
• Пункты, аннотировавшие различные
объекты в VOB
• Использование типов метаданных
ограничено, хотя, некоторые применимы к
версии объекта, ветви или элементу в
целом.
• Типы метаданных включают:
 Ветви (br)
 Элементы (el)
 Метки (lb)
 Атрибуты (at)
 Гиперссылки (hl)
 Триггеры (tr)
Глава 12
3
Создание Метаданных.
Метаданные ClearCase создаются
последующей схеме:
1. Создание типа метаданных:
 Определяет тип для использования в
определенном VOB.
 Выполняется с помощью Type Explorer
 Эта процедура предполагает
согласованность и административный
контроль
2. Создание экземпляра типа метаданных:
Любой пользователь может применить
метаданные к объекту VOB.
 Осуществляется с помощью различных
Глава 12
утилит GUI
4
Использование Type Explorer.
Explorer – графический интерфейс для
создания, просмотра и управления типами
метаданных
• Каждая папка внутри Type Explorer
представляет один из следующих типов
метаданных:
• Type
Ветви
Атрибуты
Элементы
Гиперссылки
Глава 12
Метки
Триггеры
5
Идентификация версий метками
• Метка (или уникальный опознаватель
версии) может быть прикреплена к любой
версии для уникальной идентификации
определенной версии этого элемента
foo.c
\src
design.doc
REL3.1.5
REL3.1.5
REL3.1.5
Глава 12
6
Использование меток
•В конфигурационной спецификации View:
element *
REL3
•В версионном расширении имени файла:
foo.c@@\main\5 = = foo.c@@\REL2.3
•Для обозначения ключевых точек в проекта,
выделения начальных точек ветвления или
при определении версии в составе baseline :
Opt.c@@\main\robin_branch\BASE
•Для определения условий запроса на поиск в
cleartool:
Cleartool find –all –version “lbtype (REL1)” –print
Глава 12
7
Создание типа метки
• перед тем как метка REL3 будет применена,
тип метки должен быть создан в VOB
Глава 12
8
Присоединение метки
• Метки могут быть прикреплены к одной
версии, рекурсивно ко всем текущим версиям
элементов директории или ко всем версиям,
участвовавшим в определенном процессе
сборки
Глава 12
9
Использование Apply Label Wizard
• Apply Label Wizard может быть использован
для рекурсивного присваивания меток
Глава 12
10
Просмотр меток
• Метки могут быть просмотрены через
Version Tree Browser, панель свойств версии
или команду cleartool describe.
Глава 12
11
Что такое атрибут?
• Пара имя/величина, использующейся для
аннотации версии, элемента, ветви,
символической связи VOB или гиперссылки
• Величина атрибута может иметь
определенный интервал значений и может
быть нескольких типов
msg.c
\main
menu.c
\main
\bug
tested = "yes"
tested = "no"
\bug
BugNum = 515
tested = "yes"
\v3
BugNum = 272
tested = "yes"
BugNum = 651
tested = "no"
tested = "no"
Глава 12
BugNum = 347
tested = "no"
12
Использование атрибутов
•В config spec:
Element *
\main\ {Qastat = = “FALSE”}
• При поиске в VOB
I:dcrowe_hw> cleartool find . –element Attype
(BugNum) -print
I:dcrowe_hw> cleartool find src –element BugNum
==405 -print
Глава 12
13
Создание типа атрибута
• Чтобы создать новый тип атрибута тем же
способом, что и тип метки, используйте Type
Explorer
Глава 12
14
Создание типа атрибута (продолжение)
• Тип величины
должен быть связан с
атрибутом.
• Допустимые типы:
Integer
Real
Строковый (string)
Время (time)
Opaque
Глава 12
15
Прикрепление атрибутов
Глава 12
16
Гиперссылки – обзор
• Аннотация гиперссылки хранятся в БД VOB.
• Каждый конец гиперссылки должен указывать на
объект VOB, на текстовую строку, либо на то и другое
(по крайней мере, хотя бы один конец должен
указывать на объект VOB)
 Объекты VOB могут находиться в различных VOB
 Слияние гиперссылок предопределено ClearCase для записи
операций слияния.
hello.doc
hello.c
\main
\main
\bug
\bug
\v3
Implements
Глава 12
17
Создание типов гиперссылок
• Гиперссылка должна быть определена в
VOB, как и остальные метаданные.
Глава 12
18
Присоединение гиперссылок
• Используйте команду cleartool mkhlink для
присоединение гиперссылки к объекту VOB.
• Присоединение гиперссылки к
определенной версии элемента:
I: dcrowe_hw > cleartool mkhlink Implements Src
\hello.c doc\hello.txt
Created hyperlink “Implements@501@\Project_X”.
Глава 12
19
Триггеры – обзор
• Триггеры – метаданные, определяющие
действия, выполняемые в случае наступления
определенных событий ClearCase.
 События - операторы ClearCase такие, как
checkout, checkin и т.д., модифицирующие
элементы VOB или метаданные
 Действия – программы, bat-файлы или
команды ClearCase такие, как mkattr или
mklable.
•Триггеры могут «срабатывать» одним из
двух способов:
Pre-event
Post-event
срабатывают перед событием
срабатывают после события
Глава 12
20
Триггеры Pre-event и Post-event
• Триггеры Pre-event
помогают проводить установленную политику
использования ClearCase
если триггер возвращает не нулевое значение, событие не
происходит
Пример:
Устанавливается Pre-event триггер, позволяющий создать
тип branch только руководителю проекта
• Триггеры Post-event
 Используются для запуска действий после события
 После того как событие произошло, они могу
использоваться для добавления информации или запуска
других операций.
Пример:
Устанавливается Post-event триггер на операцию checkin,
по которому атрибут с номером задания прикрепляется к
версии в состоянии checkin.
Глава 12
21
Создание триггера – пример
•Используйте команду Cleartool mktrtype для
создания типа триггера в VOB.
Пример:
Объявите Pre-event триггер, запрещающий
пользователям (кроме VOB админа) создавать тип
branch в VOB
I: \dcrowe_hw > cleartool mktrtype –nc –type –preop
mktrtype –brtype -all -nuser vobadmin -exec
“cc_perl –e die ();” NO_BRTYPE_4U
Created trigger type “NO_BRTYPE_4U”.
I: \dcrowe_hw > cleartool mktrtype rel13_bugfix
Cleartool: Error: Unable to create branch type
“rel13_bugfix”.
Глава 12
22
Контрольные вопросы.
•Что такое метаданные ClearCase?
•Какие типы метаданных существуют?
•Укажите 2 способа прикрепления меток в
GUI?
•Перечислите типы различных значений
атрибутов?
•Укажите 2 объекта, к которым можно
прикрепить атрибуты?
•Что может делать триггер? Когда он
запускается?
Глава 12
23
Download