Синхронизировать GIT и ClearCase

В настоящее время я работаю над ClearCase и сейчас перехожу на GIT. Но нам нужна эта миграция таким образом, чтобы вся работа была выполнена в GIT и данные были синхронизированы обратно в поток ClearCase. У нас будут одинаковые имена веток и имена потоков в GIT и CC, поэтому сценарии не должны быть проблемой. Проблема здесь в том,

Может кто-нибудь предложить, какая модель лучше всего синхронизировать CC и GIT?

  1. Иметь все Vobs в CC как репо в GIT, а основной поток в CC - как различные ветви в GIT. - Одно GIT-репо (VOBS) и множество филиалов (CC-потоки). - Это занимает меньше места, поскольку VOB хранятся в виде одного репо со многими филиалами.

  2. Имейте важные ветви CC как независимые репозитории GIT, и каждый репозиторий имеет все VOB CC. - Многие GIT-репо для многих ветвей CC - Это займет много места, так как VOB будут реплицироваться через.

Как вы думаете, это лучший способ синхронизировать его с ClearCase

3 ответа

Решение

Иметь все Vobs в CC как единый репо в GIT, а основной поток в CC - как различные ветви в GIT

Нет и да

Имейте важные ветви CC как независимые репозитории GIT, и каждый репозиторий имеет все VOB CC

Нет и нет

Перечитывая мой ответ об ограничениях Git, вы не должны пытаться втиснуть "все" в репозиторий Git.
См. Также " Каковы основные концепции прозрачных списков, которые должен знать каждый разработчик?" Для сравнения между ClearCase и Git.

Поток можно смело импортировать как ветку.
Но VOB не обязательно Git Repo.

Если вы используете UCM, я бы рекомендовал одно Git-репо для каждого компонента UCM.

В любом случае вам нужно записать в своем Git Repo способ узнать, какое представление ClearCase использовать для синхронизации (с помощью простогоclearfsimport) ваши данные.
Представление, используемое для повторного импорта данных ClearCase, будет представлением UCM, автоматически связанным с правым потоком для правильного VOB.


Примечание: в разделе " Как связать git с ClearCase?" Я упоминаю более простое решение, которое не импортирует всю историю в репозитории Git.

Хотя я не обязательно рекомендую его как "лучший" способ синхронизации этих двух файлов, вы можете импортировать историю и отправить изменения обратно в Clearcase с помощью моего инструмента git-cc, как упомянуто здесь.

Что касается веток и репо, я бы выбрал одно правило vit == одно git-репо, поскольку git-репо действительно предназначено для использования в одном проекте, так же, как и для vobs.

Что касается веток, имена веток в vobs / repos должны совпадать. Посмотрите на подмодули в git, чтобы увидеть, можно ли это использовать в вашем случае.

Лично я хотел бы увидеть зрелый бэкэнд git-cc, который позволит мне использовать git на моем dev-box, и при этом я буду вынужден использовать синхронизацию с корпоративным репозиторием CC.

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