Синхронизировать GIT и ClearCase - PullRequest
12 голосов
/ 19 марта 2010

Я сейчас работаю над 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 ]

4 голосов
/ 19 марта 2010

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

Нет и да

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

Нет и нет

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

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

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

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


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

4 голосов
/ 20 марта 2010

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

1 голос
/ 19 марта 2010

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

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

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

...