2017-01-27 25 views
-1

Я работаю над преобразованием группы старых 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.

+0

'git svn clone ' также может переносить svn repo на git repo. –

ответ

0

Atlassian предоставляет migration scripts, чтобы помочь вам перенести существующий технологический процесс разработки от SVN к Git вместе с записью, чтобы использовать их here.

Я тоже давно написал блог, который может помочь вам в достижении того, что вы ищете здесь - Migrating from SVN to Git.