Как уже упоминалось здесь (ibm) и в этой теме , прямого инструмента для импорта данных SVN в ClearCase не существует.
Это означает, что пользовательский сценарий устанавливает рабочее пространство SVN на соответствующий этап, а затем clearfsimport в вид ClearCase с «правильной» конфигурационной спецификацией (то есть «спецификацией конфигурации») .
По сути, я имею в виду представление ClearCase, импортирующее в соответствующую ветку ClearCase различные копии файлов Subversion, расположенных в «каталогах ветвей». А затем импортируйте в правильном порядке «теги» (все еще копии в репозитории SVN) в представлении импорта ClearCase с меткой, установленной сразу после импорта такого типа.
Таким образом, основная «проблема» заключается в том, чтобы слепо импортировать всю структуру SVN: это привело бы к фактическим каталогам, которые вообще не должны присутствовать в ClearCase, поскольку ветви и теги являются первоклассным гражданином с этим инструментом, а не « дешевый экземпляр "как в SVN.
Хороший сценарий, с которого можно начать (и, конечно, адаптировать): svn2git , который обнаруживает ветви и теги SVN и пытается импортировать содержимое этих «каталогов». в git (но также может импортировать их в ClearCase через правильный системный вызов команды 'clearfsimport').
Поскольку импорт одной ревизии может быть довольно продолжительным, реалистичным подходом было бы ограничить импорт скриптом:
- метка
- ГОЛОВА сундука
- ГОЛОВА заявленных веток
При импорте ветвей это означает создание brtype, а затем установку метки (отправной точки), наконец, изменение спецификации конфигурации для получения следующих правил выбора:
element * .../svnBranch
element * STARTING_LABEL -mkbranch svnBranch
element /main/0 -mkbranch svnBranch
Важным моментом является конечный результат без каталогов, представляющих ветви и теги, присутствующие в SVN.
Оттуда вы сможете перемещать / переименовывать основные каталоги в любую структуру, какую захотите, например ту, которая подходит для объявления компонентов UCM (если вы хотите использовать UCM).