Перенос подпапок веток SVN в Git

Я использую svn2git но я мог бы использовать git svn также. У меня был сценарий ниже в хранилище SVN.

 trunk 
 brances 
     branchesA
         branchA1
         branchA2
         [...]
     branchesB
         branchB1
         branchB2
         [...]
     branchesX
         [...]

После завершения миграции на стороне Git появляются ветки branchesA, branchesBи т. д., которые имеют внутри папки с правильно ветвями SVN. Например, в репозитории Git:

 master 
 branchesA 
 branchesB 
 branchesX
 [...]

если ты $git checkout branchesA вы увидите все ветки подпапок вроде ($ls):

 branchA1
 branchA2
 branchA3
 [...]

Есть ли способ или инструмент или что-то, что могло бы исправить это, как только я уже перенес это, или как-то передать более одной папки в --branches?

1 ответ

Решение

Не использовать git svn для одноразового обращения. Это здорово, если вам нужно постоянно синхронизировать, а также фиксировать обратно в SVN, но неоптимально для одноразового преобразования.

Есть инструменты под названием svn2git, но из вашего вопроса, я думаю, вы не используете KDE из https://github.com/svn-all-fast-export/svn2git. Я настоятельно рекомендую использовать это svn2git инструмент. Это лучшее, что я знаю из доступных, и оно очень гибкое в том, что вы можете делать с его файлами правил.

Вы легко сможете настроить его для своего макета, чтобы получить желаемый и ожидаемый результат. Вы даже можете придерживаться соглашения о том, что ваши ветки должны быть в "подпапках", как если бы они были в настоящее время в SVN. Тогда ветка в Git будет branchesA/branchA1,

Если вы не на 100% об истории вашего хранилища, svneverever http://blog.hartwork.org/?p=763 - отличный инструмент для изучения истории SVN-репозитория при его переносе в Git.

Другие вопросы по тегам