Я работаю над преобразованием группы старых svn-репозиториев в git. Текущая структура SVN выглядит следующим образом:Мигрировать сложную структуру svn в git
/RootRepository
/FatClient
/branches
/1.1
/1.2
/tags
/1.1.1
/1.1.2
/trunk
/WebApp
/branches
/1.1
/1.2
/tags
/1.1.1
/1.1.2
/trunk
/CommonLibrary
/branches
/1.1
/1.2
/tags
/1.1.1
/1.1.2
/trunk
При работе над новыми битами, команда разработчиков проверяет:
/RootRepository/FatClient/trunk
/RootRepository/WebApp/trunk
/RootRepository/CommonLibrary/trunk
Изменения сделаны очень часто по трем «проектов», что приводит к 3 коммиты и (потому что они находятся в одном хранилище на сервере), каждая фиксация получает следующую последовательную ревизию. Три проекта всегда выпускаются вместе как компоненты приложения.
Я хотел бы мигрировать из структуры СВН с историей в единую структуру мерзавца, который выглядит следующим образом:
/RootRepository
/master
/FatClient
/WebApp
/CommonLibrary
/branch-1.1
/FatClient
/WebApp
/CommonLibrary
/branch-1.2
/FatClient
/WebApp
/CommonLibrary
Когда я бегу:
git svn clone --stdlayout https://somesvnserver.com/RootRepository/FatClient
git svn clone --stdlayout https://somesvnserver.com/RootRepository/WebApp
git svn clone --stdlayout https://somesvnserver.com/RootRepository/CommonLibrary
Я в конечном итоге с 3-мя GIT хранилищам с сундуком, ветвями и историей. Если я запускаю:
git svn clone https://somesvnserver.com/RootRepository
У меня есть 1 git-хранилище с историей, но весь код находится в master.
Итак, вопрос в том, что это лучший способ достичь этого, сохранив историю svn.
'git svn clone' также может переносить svn repo на git repo. –