Вы можете добавить несколько веток и тегов в вашу конфигурацию git-svn, даже задним числом. Поэтому, если обычно ветки SVN находятся в branches/*
в вашем репозитории SVN (т. Е. В стандартной компоновке), но у вас также есть branches/summer-students/*
, вы можете установить его в .git/config
, как показано ниже:
[svn-remote "svn"]
url = svn+ssh://svn.example.com
fetch = trunk:refs/remotes/trunk
branches = branches/*:refs/remotes/*
tags = tags/*:refs/remotes/tags/*
branches = branches/summer-students/*:refs/remotes/svn-summer-students/*
Слева от :
находится путь в репозитории SVN, а справа - путь, который будет отображаться, как в вашем списке удаленных веток git. Вы можете использовать refs/remotes/*
несколько раз, чтобы все выглядело как удаленная ветвь верхнего уровня, но следите за конфликтами имен - они сломают вещи (следовательно, svn-summer-students
вместо summer-students
, который уже существует).
После того, как вы отредактируете конфигурацию, вам нужно удалить .git/svn/.metadata
и запустить git svn fetch
, чтобы обновить список ветвей и восстановить его. git branch -r
должен затем показать дополнительные ветви. Если вы получаете ошибки, обратите внимание на конфликты имен.
В git svn docs есть еще несколько примеров указания путей с помощью подстановочных знаков или выражений, если у вас есть необычная компоновка SVN.