Ответ 1
Вы можете начать с чтения моих ответов SO:
- Каковы основные понятия прозрачности, которые должен знать каждый разработчик?
- Преимущества/недостатки ClearCase
- Как использовать возможности Clearcases
Два основных различия, о которых вам нужно знать:
-
ClearCase ориентирован на файлы, а не центр репозитория, что означает, что вы получаете файлы только для чтения, необходимые для проверки один за другим, чтобы иметь возможность изменять (и вы "совершаете" "(checkin) один за другим): нет глобальной версии рабочего пространства здесь
-
ClearCase рассматривает ветвление как истинные метаданные, а не как "каталог" с дешевой копией в нем: нет "каталога" с именем ветки в нем.
Быстро сказанное:
-
Репозиторий = > VOB:
Да: VOB - это еще один термин для репо (база данных с версией). Это не база данных SQL, а старая база плоских файлов Atria. -
Рабочая копия = > Вид снимка?
Снимки представляют собой ближайший механизм доступа из рабочей копии, поскольку он копирует файлы на ваш жесткий диск.
Динамический просмотр обеспечивает одинаковый доступ к рабочей копии... без копирования чего-либо на вашем жестком диске, что интересно для быстрой консультации. -
Trunk = > ??
"main
": это основная ветвь в ClearCase (каждый элемент - файл или каталог - в ClearCase имеет по крайней мере одну версию на "main" ), но на самом деле нет соединительной линии, кроме одну ветвь, которую вы выбираете как туловище. -
Ветвь = > поток интеграции? поток разработки?
Поток не является ветвью. Это метаданные со списком меток (базовых линий), которые вам нужно использовать. При этом, только если вы решите использовать UCM. В противном случае ветка - это любая ветка, которую вы можете создать без UCM (mkbranch myBranch
).
Поток может служить шаблоном для создания ветки, названной в честь нее: любая проверка, которую вы делаете в представлении UCM (представление, настроенное автоматически после потока), создаст ветвь с именем после ее потока. -
Тег = > Метка? Базовый уровень?
Сначала тег не является каталогом с дешевой копией, как UCM.
Это метка, примененная к любой версии, на которую вам нужно ссылаться.
Разница между меткой (не UCM) и базовой линией (UCM) заключается в том, что базовая линия является меткой, применяемой ко всем файлам компонента (UCM) (группа файлов), тогда как метка может быть применена к любому элементу вашего выбор, как только подмножество данной группы файлов. -
Оформить заказ из репо в качестве рабочей копии = > Оформить заказ из VOB в виде моментального снимка?
Почти, но правильный термин для моментального снимка - "обновление".
Для динамического просмотра вам даже не требуется обновление (или svn checkout), так как представление... динамическое: вы сразу видите правую рабочую копию через сеть. Это просто еще один механизм доступа. -
Зафиксировать рабочую копию в repo = > Checkin из представления моментального снимка в VOB?
Не совсем так, поскольку фиксация будет касаться всех модифицированных файлов, в то время как checkin будет файловым (хотя ClearCase 7.1.1 ввел понятие "атомная проверка" : см. страница справки). -
Обновить = > Rebase?
Nope: означает обновление в представлении моментальных снимков (ничего не отображается в динамическом представлении, поскольку оно является динамическим: любые изменения, сделанные в другом представлении с аналогичным правилом выбора, будут мгновенно видны в вашем представлении)
Rebase - это слияние UCM, выполняемое как ветвь от родительского потока к ветке из дочернего потока. В конце концов, это просто слияние. -
Revert = > ??
Не тривиально... Это субтрактивное слияние. -
?? = > Доставка
Deliver и Rebase - это просто слияния между ветвью "источник" и "конечный пункт":
Единственное преимущество, заключающееся в том, что вы можете "видеть" ваш рабочий процесс слияния заранее, нужно определить иерархию потоков (которые представляют собой ни что иное, как список меток), зная, что любое слияние между:- ветвь из дочернего потока в родительский поток будет "доставлять"
- ветвь из родительского потока в дочерний поток будет "rebase"