Перенести clearcase на принудительный

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
0
1 575
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Ответ принят как подходящий

Первый шаг - решить, нужно ли вам перенести все или только определенные ключевые версии. Если вы переносите только важные версии (выпуски и основные этапы), вы получите гораздо более простую историю в Perforce, не потеряв ничего важного. Тогда ClearCase можно будет сохранить как исторический архив на случай, если он когда-либо понадобится. (Если IBM не изменила вещи, лицензии ClearCase не истекают, когда заканчивается обслуживание, вы просто теряете право на новые обновления, исправления и доступ к поддержке)

Имейте в виду, что Perforce не создает каталоги для управления версиями и не поддерживает полное дерево версий для каждого элемента - это означает, что 1: 1 с точными результатами будет невозможно. Воссоздание важных снимков - гораздо более достижимая цель; сохранить все может быть невозможно, поскольку Perforce не хватает функций, на которые полагается ClearCase.

Чтобы узнать, что Perforce говорит о мирации, посмотрите http://perforce.com/perforce/ccaseconv.html Это объясняет основные различия и охватывает несколько подходов, которые вы можете использовать.

Начните с поиска в Google на "прозрачное преобразование в принудительное преобразование". Затем прочтите Руководство по переходу от ClearCase к Perforce. Когда вы закончите плакать, вам нужно будет решить (1) сколько усилий вы можете себе позволить и (2) что вам действительно нужно уловить как часть конверсии. Вы не получите всего этого, так что вы можете просто сосредоточиться на получении важных веток.

Еще одним соображением было бы просто зафиксировать текущее состояние каждой поддерживаемой ветки в виде снимка, импортировать его в Perforce, а затем выключить старый сервер ClearCase, сохранив его в заведомо исправном состоянии на тот день, когда вам нужно получить доступ к чему-либо из глубокие, темные, досужие дни ...

Вы также должны иметь в виду тот факт, что ваш сценарий импорта может слегка фиксироваться в последовательности, отличной от фиксирования clearcase (возможно, вы просматриваете каталог, могут быть истории файлов и т. д.)

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

Так что вам действительно стоит подумать о том, чтобы оставить историю ясных дел позади. Создание тегов / веток также является другой проблемой, так как вам нужны ваши старые конфигурации для ваших старых веток. В конце вы получите неправильные имена файлов в старых тегах (поскольку по умолчанию не поддерживаются dir-vers.), Поэтому вы будете использовать для этого clearcase (и очень сложно получить правильное имя файла для каждой версии файла!).

Последняя проблема, с которой вы столкнетесь: время выполнения импортера: если у вас есть большие VOB (например, 10 лет, размер 50 ГБ), вы будете ждать несколько дней, пока импортер соберет всю информацию и преобразует ее в красивое блестящее репо. Весь этот день ваша команда разработчиков перестанет работать.

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

GS - Apologise to Monica 21.01.2014 00:46

Небольшая заметка об одном импорте, который я видел из ClearCase в Perforce. Как отмечено в Руководство по переходу от ClearCase к Perforce:

Perforce supports atomic change transactions; ClearCase doesn't.

Note that labels are often used to simply denote a snapshot in time for a particular easily-specified set of files; this is inherently easy to do in Perforce without using a label, due to Perforce's use of atomic change transactions and file naming syntax.
For example, the state of all the files in //depot/projecta as of change 42 can be obtained with

p4 sync //depot/projecta/...@42

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

Остальные ответы устарели. Теперь вы можете импортировать CC-> Perforce с множеством опций, также сохраняя историю. http://www.perforce.com/sites/default/files/pdf/migration-planning-guide-clearcase-to-perforce.pdf

Другие вопросы по теме