svn2git - отличный инструмент. Я использую его для переноса большого проекта. Вам необходимо определить правила для каждой ветви / тегов. Дикие карты - ваш друг.
trunk/A/B
branches/Foo/A/B
branches/Bar/A/B
tags/Baz/A/B
tags/Foobar/A/B
Вот несколько примеров правил. ПРИМЕЧАНИЕ. Правила выполняются по порядку.
match /trunk/
branch master
end match
match /branches/([^/]+)/
branch \1
end match
match /tags/([^/]+)/
branch refs/tags/\1
annotated true
end match
Это приведет к следующим ветвям: master, Foo и Bar и тегам Baz и Foobar.
Что-то, что мне потребовалось некоторое время, чтобы выяснить, это если вам нужно глубже изучить путь, который вам нужен для использования функции рекурсии. Например, если коммит копирует все ветви в теги, путь будет просто / branch /. Вы должны править, чтобы перейти в каталог.
match /branches/$
action recurse
end match
Еще один замечательный инструмент для использования перед написанием ваших правил - svneverever. Это поможет вам написать ваши правила.
https://blog.hartwork.org/posts/before-svn2git-you-want-to-run-svneverever/