Подтвердить что ты не робот

Быстрый способ для пользователя SVN изучить ClearCase

До сих пор я использовал SVN, и теперь мне нужно быстро забрать ClearCase, с точки зрения разработчика. Есть ли хороший ресурс для этого? Спасибо.

- добавить на -
Существует ли карта между понятиями/терминологией SVN (например, репозиторий, рабочая копия, соединительная линия, ветвь, тег, проверка, фиксация, обновление, возврат) с помощью CC? Основываясь на первоначальном чтении, я вышел со следующим.

Репозиторий = > VOB?
Рабочая копия = > Просмотр снимка?
Trunk = > ??
Ветвь = > Интеграционный поток? поток разработки?
Tag = > Ярлык? Базовый уровень?
Оформить заказ из репо в качестве рабочей копии = > Оформить заказ с VOB в виде моментального снимка?
Зафиксировать рабочую копию в repo = > Checkin из представления моментального снимка в VOB?
Обновить = > Rebase?
Revert = > ??
?? = > Доставить

AFAIK CC имеет свои уникальные концепции, поэтому я не могу сказать ближайшую карту.

4b9b3361

Ответ 1

Вы можете начать с чтения моих ответов SO:

Два основных различия, о которых вам нужно знать:

  • 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"

Ответ 2

Главное, что вам нужно знать, это то, что вы используете SVN сегодня, называется snapshot views в clearcase. Для остальных clearcase имеет множество нагрузок и нагрузок таких функций, как динамические представления, действия, производные объекты и собственная система make. Никто не использовал эти функции в компании, в которой я работал, и сделал глобальный выбор для четкого определения. О да, и это действительно не работает, если сервер, к которому вы подключаетесь, не находится в вашем офисе.

Большинство материалов прозрачной формы, которые я видел, концентрируются на всех этих других функциях, поэтому я бы прочитал их с некоторым здоровым скептицизмом.