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

Синхронизация GIT и ClearCase

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

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

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

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

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

4b9b3361

Ответ 1

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

Нет и да

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

Нет и Нет

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

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

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

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


Примечание. Я упоминаю в как свести GIT к ClearCase?" более простое решение, но которое не импортирует всю историю в GIT репо.

Ответ 2

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

Ответ 3

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

Как и для ветвей, имена ветвей во всплывающих/репозитариях должны совпадать. Взгляните на подмодули в git, чтобы узнать, можно ли это использовать в вашем случае.

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