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

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

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

Репозиторий => VOB?
Рабочая копия => представление Snapshot?
Соединительная линия =>??
Ответвление => поток Интеграции? поток разработки?
Тег => Маркировка? Базовая линия?
Контроль от repo как работающий копия => Контроль от VOB как представление снимка?
Фиксация из рабочей копии в repo => Регистрация от снимка просматривает в VOB?
Обновление => Переоснова?
Вернуться =>??
?? => Поставляют

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

12
задан shiouming 14 March 2010 в 10:42
поделиться

2 ответа

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

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

  • ClearCase ориентирован на файлы, а не на репозиторий, что означает, что вы получаете файлы только для чтения, которые нужно проверять по одному, чтобы иметь возможность изменять (и вы "коммитите" (проверяете) также по одному): здесь нет глобальной ревизии рабочего пространства

  • ClearCase рассматривает ветвление как настоящие метаданные, а не как "каталог" с дешевой копией в нем: нет никакого "каталога" с именем ветвления в нем.


Учитывая это, быстро:

  • Репозиторий => VOB:
    . Да: VOB - это просто другой термин для repo (Versioned Object base). Это не база данных SQL, а старая база плоских файлов Atria.

  • Рабочая копия => представление моментального снимка?
    Представление моментального снимка - это наиболее близкий механизм доступа к рабочей копии, поскольку он копирует файлы на жесткий диск.
    Динамическое представление достигает такого же доступа к рабочей копии... не копируя ничего на жесткий диск, что интересно для целей быстрой консультации.

  • Магистраль => ?
    "main": это главная ветвь в ClearCase (каждый элемент -- файл или каталог -- в ClearCase имеет по крайней мере одну версию на "main"), но на самом деле нет никакой магистрали, кроме той, которую вы выбрали в качестве магистрали.

  • Филиал => интеграционный поток? поток разработки?
    Поток - это не филиал. Это метаданные со списком меток (baselines), которые вам нужны для работы. При этом, только если вы решили использовать UCM. В противном случае, ветка - это любая ветка, которую вы можете создать без UCM (mkbranch myBranch).
    Поток может служить шаблоном для создания ветви, названной по его имени: любая проверка, которую вы делаете в представлении UCM (представление, сконфигурированное автоматически после потока), создаст ветвь, названную по имени ее потока.

  • Tag => Label? Baseline?
    Во-первых, метка - это не каталог с дешевой копией, как в UCM.
    Это метка, наложенная на любую версию, на которую вы хотите, чтобы она ссылалась.
    Разница между меткой (не UCM) и базовой линией (UCM) в том, что базовая линия - это метка, наложенная на все файлы компонента (UCM) (группы файлов), в то время как метка может быть наложена на любой элемент по вашему выбору, например, только на подмножество данной группы файлов.

  • Выгрузка из репозитория как рабочая копия => Выгрузка из VOB как просмотр снимка?
    Почти, но правильный термин для просмотра снимка - "обновление".
    Для динамического представления вам даже не нужно обновление (или svn checkout), поскольку представление ... динамическое: вы просто мгновенно видите нужную рабочую копию через сеть. Это просто другой механизм доступа.

  • Commit из рабочей копии в репо => Checkin из snapshot view в VOB?
    Не совсем, так как commit будет касаться всех изменённых файлов, в то время как checkin будет файловым (хотя ClearCase 7.1.1 ввёл понятие "atomic checkin": см. checkin man page).

  • Update => Rebase?
    Нет: означает обновление в представлении snapshot (ничего в динамическом представлении, поскольку оно динамическое: любые изменения, сделанные в другом представлении с аналогичным правилом выбора, будут мгновенно видны в вашем представлении)
    . Rebase - это слияние UCM, которое выполняется, будучи веткой от родительского потока к ветке от дочернего потока. В конечном счете, это просто слияние.

  • Revert => ??
    Не тривиально... Это субстрактивное слияние.

  • (?) => Deliver
    Deliver и Rebase - это просто слияние между веткой "source" и веткой "destination":
    . Единственным преимуществом является то, что вы можете "видеть" свой рабочий процесс слияния заранее, определяя иерархию потоков (которые являются ничем иным, как списком меток), зная, что любое слияние между:

    • ветвью из дочернего потока в родительский поток будет "deliver"
    • ветвью из родительского потока в дочерний поток будет "rebase"
14
ответ дан 2 December 2019 в 20:40
поделиться

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

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

1
ответ дан 2 December 2019 в 20:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: