Я в настоящее время работаю над ClearCase и теперь мигрирую на МЕРЗАВЦА. Но нам нужна эта миграция способом, что вся работа будет сделана в МЕРЗАВЦЕ, и данные будут синхронизироваться поддержанные к потоку ClearCase. У нас будут те же имена ответвления, и потоковые названия и в МЕРЗАВЦЕ и в CC, таким образом пишущий сценарий не должны быть проблемой. Проблема здесь,
Может кто-то предлагать, который является лучшей моделью для синхронизации CC и МЕРЗАВЦА
Имейте всех Vob в CC как единственный repo в МЕРЗАВЦЕ и имейте крупнейший поток в CC как различные ответвления в МЕРЗАВЦЕ. - Единственный МЕРЗАВЕЦ repo (VOBS) и много ответвлений (потоки CC). - Это занимает меньше места, поскольку VOBs сохранены как единственный repo со многими ответвлениями.
Имейте важные ответвления CC как независимые репозитории МЕРЗАВЦА и каждый репозиторий, имеющий весь VOBs CC. - Многие МЕРЗАВЕЦ repo для многого ответвления CC - Это поднимет много пространства, поскольку VOBs будет копироваться через.
То, которые делают Вы думаете, является лучшим способом сохранить его в синхронизации с ClearCase
Иметь все Vobs в CC как единое репо в GIT и иметь основной поток в CC в виде различных ветвей в GIT
Нет и да
Иметь важные ветки CC как независимые репозитории GIT и каждый репозиторий, имеющий все CC VOB
Нет и Нет
Перечитывая мой ответ о ограничениях Git , вы не должны пытаться втиснуть «все» в репозиторий Git.
См. Также « Какие основные концепции чистого регистра должен знать каждый разработчик? » для сравнения ClearCase и Git.
Поток можно безопасно импортировать как ветку.
Но VOB не обязательно являются репозиторием Git.
Если вы используете UCM, я бы рекомендовал одно репозиторий Git для каждого компонента UCM.
В любом случае, вам нужно записать в репозиторий Git способ узнать, какое представление ClearCase использовать для обратной синхронизации (с помощью простого clearfsimport
) ваших данных.
Представление, используемое для повторного импорта данных ClearCase, будет представлением UCM, автоматически связанным с правильным потоком для правильного VOB.
Примечание: я упоминаю в « Как связать git с ClearCase? » более простое решение, но которое не импортирует всю историю в репозиторий Git.
Хотя я бы не стал предлагать это как «лучший» способ синхронизации, вы можете импортировать историю и отправить изменения обратно в Clearcase через мой git -cc, как упоминалось здесь .
Что касается веток и репозиториев, Я бы пошел с одним правилом vob == one git repo, поскольку git repo действительно предназначен для использования в одном проекте, так же, как и для vobs.
Что касается веток, имена веток в vobs / репозиториях должны совпадать. Взгляните на подмодули в git, чтобы узнать, можно ли это использовать в вашем случае.
Лично я хотел бы видеть зрелый бэкэнд git-cc, который позволит мне использовать git в моем dev-box, в то же время имея возможность синхронизироваться с корпоративным репозиторием CC, который я вынужден использовать.