Вопрос

В настоящее время я работаю над 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?

Это было полезно?

Решение

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

Нет и да

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

Нет и Нет

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

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

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

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


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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top