Описать как в ClearCase представляются версии директорий

advertisement
Глава 6
Конфигурационное
управление с
применением ClearCase
Версионный контроль
директорий
Глава 6
1
Цели
Прочитав эту главу, вы сможете:
• Описать как в ClearCase представляются
версии директорий
• Создать новые файловые элементы
• Создать новые элементы-директории
• Понять как можно реорганизовать
структуру директории
• Связать вместе несколько VOB
• Переименовать и переместить ссылки на
элементы
Глава 6
2
Директории и файлы
•ClearCase отслеживает содержание
директорий, находящихся под версионным
контролем
• Операции, которые изменяют директории,
включают:
 Добавление новых файлов
 Переименование уже существующих файлов
 Удаление файлов
 Добавление новых поддиректорий
 Перемещение файлов и поддиректорий
 Добавление / перемещение гиперлинков VOB
Глава 6
3
Просмотр версий директорий
• Как и файловые элементы, директории
имеют версионные деревья
• Версию директории можно определить
по версионному расширению имени
• Версия директории – это список или
каталог имен файловых элементов,
которые появляются в этой версии
директории
Глава 6
4
Сравнение версий директории
Утилита Compare позволяет сравнивать
списки имен файлов, появляющихся в двух
различных версиях одной и той же директории
Глава 6
5
Изменеие директории
• Любые изменения содержимого директории
требуют создания новой версии
• Создание новой версии директории должно
сопровождаться выполнением операций
checkout и checkin
• Если Вы изменяете содержимое файла
внутри директории, то нет необходимости
совершать операцию checkout над
директорией.
Глава 6
6
Создание файлового элемента
Глава 6
7
Типы элементов - обзор
• Типы элементов определяют, как файл будет
храниться, извлекаться, сравниваться и
сливаться
• Некоторые типы элементов могут храниться
одинаково, а сравниваться и сливаться поразному (в зависимости от типа)
• Каждый файловый элемент имеет свой тип
• ClearCase имеет несколько
предопределенных типов элементов
Глава 6
8
Сравнение типов элементов
text_file
хранение каждой версии в виде
дельты
html
rose
xml
compressed_text_file хранение версии как сжатой дельты
file
хранение версии как полной копии
ms_word
compressed file
хранение версии как сжатой полной
копии
binary_delta_file
версии каждой ветви хранятся
отдельно в сжатом виде с
дельтами,определяемыми на основе
побайтного сравнения
directory
содержание директорий
Глава 6
9
Просмотр типов элементов
• Имеющиеся типы можно увидеть в окне
Type Explorer
 Выберите корневую директорию VOB в Explorer
 Вызовите ClearCase > Explore Types из
контекстного меню
 Щелкните дважды на папку “element types”
Глава 6
10
Присвоение типов элементов
• Для определения типа элемента,
присваиваемого файлу, ClearCase
использует файл default.magic
 ccase-home-dir\config\magic\default.magic
 Можно создавать собственные magic-файлы
Глава 6
11
Присвоение типов элементов
(продолжение)
• Если ClearCase не может определить тип
файла по его расширению, создайте новый
тип с помощью команды cleartool mkelem
с опцией -eltype
Глава 6
12
Какой тип элемента будет использовать
ClearCase?
• Для определения типа элемента, который
будет использован для файла по-умолчанию,
используйте команду cleartool file
Глава 6
13
Создание директорий
• Для создания элемента-директории надо
создать директорию во View и применить к
ней команду ClearCase > Add to Source
Control...
Глава 6
14
View-Private файлы
• Файлы и директории являются view-private
при создании их средствами Windows
• ClearCase Explorer показывает тип элемента
(File Element, Directory,View-Private File ...)
Глава 6
15
Перенос элемента
• При переносе элемента:
 Исходная и новая директории должны быть
checked out
 Используйте команду cleartool mv
Глава 6
16
Результат переноса
• При сравнении текущей версии директории с
предшествующей видно, что после переноса
файл вычеркнут из списка исходной
директории
Глава 6
17
Check In после переноса
• Не забудьте выполнить операцию Check In
над обоими директориями после переноса!
Глава 6
18
VOB Hard Links
• VOB hard link это:
 дополнительное имя для существующего
элемента VOB
vob_root_dir
(vob-tag)
include
src
hello.c
•Может быть checked out:
hello.h
hello.h
The two names
reference the same
element data
•Checkedout копия в Вашем
View будет идентифицирована
с аннотацией на checkout
•Остальные ссылки на hard
link получат аннотацию
[checkedout but removed]
•Является типом связи (link),
используемым по умолчанию
Глава 6
19
Создание Hard Links
• Необходимо выполнить checkout для
директории, в которой будет создан hard link
Глава 6
20
Symbolic Links
• Символическая
связь в VOB:
F:
 особый, не
версионный
объект VOB
 файл, состоящий
из строки
символов
 не может быть
checked out
 может
использоваться
между VOB
project_Y
bin
Глава 6
include
project_Z
include
src
hello.h
21
Создание Symbolic Links
• При создании связи используйте опцию
-slink с командой cleartool ln
Глава 6
22
Просмотр свойств Symbolic Link
• Для просмотра свойств symbolic link
выделите его и примените ClearCase >
Properties of Symlink
Глава 6
23
Удаление имени элемента
• Команда cleartool rmname удаляет имя
элемента или VOB symbolic link из списка
директории.
• Элемент остается в VOB
3
Markefile
hello.c
hello.h
until.c
4
Markefile
hello.h
until.c
Makefile hello.c
hello.h
until.c
reference to hello.c removed
Глава 6
24
Удаление версии
• Cleartool rmver
 удаляет одну или более версий элемента из VOB
 удаляет все метаданные, связанные с
удаляемыми версиями
 удаляет все записи о событиях, связанных с
удаляемыми версиями
 обычно используется для удаления устаревших
версий
Глава 6
25
Удаление элемента
• Команда cleartool rmelem
 Полностью удаляет версионное дерево элемента
из VOB
 Удаляет все ссылки на элемент
 Не удаляет элементы имеющие checkedout
версии
hello
\bin
0
0
1
1
hello
2
2
hello
3
Глава 6
26
Директория lost+found
• Находится в каждом VOB на самом верхнем
уровне структуры директорий
• Содержит элементы, не включенные ни в
одну из версий директорий
Глава 6
27
Пример директории lost+found
Глава 6
28
Восстановление элемента из директории
lost+found
• Выполните checkout для директории, в
которой элемент будет восстановлен
• Переместите элемент из lost+found,
используя его идентификатор (oid) командой
cleartool mv и выполните checkin
Глава 6
29
Контрольные вопросы
• Как ClearCase представляет версии
директорий?
• Какие команды GUI и CLI использовать для
создания нового файлового элемента?
• Как создать новый элемент-директорию в
GUI и CLI?
• Какая команда позволяет реорганизовать
структурудиректории?
• Чем отличаются hard link и soft link?
• Чем отличаются команды rmname и
rmelem?
Глава 6
30
Download