Синхронизировать GIT и ClearCase
В настоящее время я работаю над ClearCase и сейчас перехожу на GIT. Но нам нужна эта миграция таким образом, чтобы вся работа была выполнена в GIT и данные были синхронизированы обратно в поток ClearCase. У нас будут одинаковые имена веток и имена потоков в GIT и CC, поэтому сценарии не должны быть проблемой. Проблема здесь в том,
Может кто-нибудь предложить, какая модель лучше всего синхронизировать CC и GIT?
Иметь все Vobs в CC как репо в GIT, а основной поток в CC - как различные ветви в GIT. - Одно GIT-репо (VOBS) и множество филиалов (CC-потоки). - Это занимает меньше места, поскольку VOB хранятся в виде одного репо со многими филиалами.
Имейте важные ветви 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.