ClearCase Checkout

Download Report

Transcript ClearCase Checkout

Глава 5
Версионный контроль файлов
Конфигурационное
управление с
применением ClearCase
Версионный контроль
файлов
Глава 5
1
Цели
После изучения этой главы Вы сможете:
• Выполнять операции check out и check in
• Определять, какой файл находится в
состоянии checked out
• Изменять статус checkout
• Отменять checkout
• Сравнивать версии файлов
• Просматривать историю файла
Глава 5
2
Парадигма checkout/checkin
•Файлы доступны только на чтение, пока не
перейдут в состоянии checked out.
• ClearCase защищает файлы в VOB от
случайной модификации пользователями, в том
числе администратором.
Пример:
Глава 5
3
ClearCase Checkout - использование
Windows Explorer
Глава 5
4
Что происходит во время операции
checkout?
2
3
•В VOB создается event record
• В версионном дереве создается
«placeholder»-версия как кандидат на
создание новой версии
• В хранилище View-private файлов создается
версия файла для правки
• Файлы помещаются во View.
placeholder• Все пользователи имеющие доступ к одному
version
View видят одинаковые файлы
• Остальные пользователи не видят
checkedout-файлов этого View пока окно
Version Tree Browser не будет
модифицировано так, чтобы пользователь
смог видеть все версии в состоянии
checkedout
Глава 5
5
View до выполнения Checkout
Рассмотрим файл hello.c до Checkout
VOB
src
util.c
hello.c
scr
utill.c
V
I
E
W
hello.c
read only
Глава 5
6
View после выполнения Checkout
Файл hello.c во View после Checkout
VOB
src
util.c
hello.c
scr
utill.c
hello.c
V
I
E
W
read/write
View Storage
hello.c
Глава 5
7
Типы Checkout
•Reserved
 Каждая ветвь (branch) может иметь только одну
версию в состоянии reserved checkout
 Обеспечивает создание следующей версии в этой
ветви из файла в состоянии reserved checkout
•UnReserved
 Создается без ограничений
 Может быть переведен в checkin, если нет
reserved checkout и следующая версия еще не
создана
 Требует слияния (merge) или отменены, если для
данной версии операция checkin уже была
совершена
Глава 5
8
Получение Unreserved Checkout
Если для версии уже имеется reserved
checkout, попытка выполнить checkout из
другого View приводит к появлению запроса на
подтверждение операции.
Глава 5
9
Результат подтверждения Checkout
• Выбор Yes и подтверждение checkout
приведут к unreserved checkout
Глава 5
10
Предотвращение сообщения об ошибке
при операции Checkout
• Можно избежать ошибки, отметив пункт
Unreserved if already reserved в окне
Checkout.
Глава 5
11
Разрешение сложных ситуаций с
Checkout
UNRESERVED Checkout
RESERVED Checkout
checkout
3
3
U
checkout
checkout
R
R
checkout
3
3
U
checkin
checkin
4
4
merge
checkin
5
Глава 5
12
Извлечение (check out) предыдущей
версии
• С помощью Version Tree browser можно
выполнить операцию Checkout над
предыдущей версией элемента
• Нельзя вставить новую версию в дерево
версий элемента между двумя
существующими версиями
• При редактировании предыдущих версий,
рассмотрите возможность создания новой
ветви
Глава 5
13
Вид элемент для пользователя
Version Tree Browser
отображает все
состояния Checkout
выбранного в
данный момент
элемента для всех
пользователей,
включая тип
Checkout для
каждого
пользователя
Глава 5
14
Поиск Checkout
Утилита Find Checkout позволяет пользователю
находить версии в состоянии Checkout согласно
заданному критерию
Глава 5
15
Поиск Checkout (продолжение)
• На основании выбранного критерия
отображается список файлов, находящихся в
состоянии Checkedout
Глава 5
16
Изменение статуса Checkout
• Право изменить статус Checkout имеют
(обозначено в порядке значимости):




Члены группы ClearCase
Владельцы VOB
Владельцы элемента
Члены группы элемента
• Необходимо находиться внутри того View, в
котором сделан Checkout файла, требующий
изменения статуса
• Это событие (Изменение статуса Checkout)
записывается в историю изменения
элемента
Глава 5
17
Unreserved и Reserved
Глава 5
18
Отмена Checkout – Undo Checkout
Если операция Checkout отменена, View
выбирает версию в состоянии Check-in по
правилам конфигурационной спецификации
Глава 5
19
View после отмены Checkout
VOB
scr
utill.c
src
hello.c
util.c
hello.c
hello.c.keep
V
I
E
W
View Storage
hello.c.keep
Глава 5
20
Механизм сравнения версий
• ClearCase включает как графическую, так
и текстовую утилиты для вывода
результатов сравнения файлов
• Можно сравнивать до 32 текстовых файлов
• Используется алгоритм попарного
сравнения
Глава 5
21
Сравнение с предыдущи версиями
Команда сравнения с предыдущими версиями
графически отображает сравниваемые файлы
Глава 5
22
Checking новой версии
• Добавляет новую версию в версионное дерево
• Удаляет доступную для записи копию файла
из View-storage
• После операции Checked-in версия сразу
становится доступна всем пользователям
Dynamic View и пользователям Snapshot View
после обновления
• Checking может быть выполнен из Windows
Explorer, Version Tree Browser, ClearCase
Explorer, CLI, MS Developer Studio и др.
Глава 5
23
Выполнение Check in
Глава 5
24
Запись событий (event records)
• История изменения объектов записывается
в базу данных VOB как event records
• Операции, выполняемые ClearCase, такие
как Check out, приводят к созданию event
records
• В event records включается информация о
событии, такая как: кто, что, где, когда
сделал и комментарии связанные с
событием
Глава 5
25
Просмотр истории изменений
• История элемента может быть отображена
графически
Глава 5
26
Настройка окна просмотра истории
изменений
Пользователь может указать, какое поле
отображать в окне просмотра
Глава 5
27
Изменение комментария
Комментарий для
операции checkin
может быть легко
модифицирован с
помощью панели
Properties of
Version
Глава 5
28
Контрольные вопросы
• Почему необходимо совершать операцию
Checkout?
• Укажите 2 возможности определить
находится ли файл в состоянии Checkout
• Что означает состояние Reserved /
Unreserved Checkout
• Какой тип файла предлагается создать при
отмене операции Сheckout
• Для чего предназначена утилита сравнения
версий
• Что показывает окно истории изменений?
• Как посмотреть второстепенные события в
окне истории?
Глава 5
29