Git -svn ветвление

Я использую git с репозиторием svn, все идет хорошо. Я сделал все мои ветвления с помощью git, поэтому я не вел ветку на svn, но я разветвлялся с помощью git и переместил эти ветки в отдельное место. Затем я исправлял изменения из ветки, когда это необходимо.
Но теперь я хочу создать несколько ветвей, которые на самом деле существуют на svn. Я пробовал:

$ git svn branch someFeature -m "message" 

и я получил следующее:

$ git svn branch someFeature -m "message"  
Multiple branch paths defined for Subversion repository. 
You must specify where you want to create the branch with the 
  --destination argument.

Как я должен указать адресат, я не могу понять это, и man-страница также не так понятна.

Ответ 1

У вас несколько (или нет) каталогов из svn, помеченных как место для веток. Посмотрите в файл .git/config, будет такой раздел:

[svn-remote "svn"]
url = file:///someurlto/svn
fetch = trunk:refs/remotes/trunk
branches = branches/*:refs/remotes/*
branches = branches2/*:refs/remotes/*

Для веток будет несколько записей. (Альтернативно, если у вас нет записей о ветких, первая строка должна работать со стандартным компоновкой репозитория SVN.)

Итак, при ветвлении вы должны указать, в какой директории должна быть создана ветка:

git svn branch someFeature -m "test" --destination branches2

где последний элемент является одним из каталогов из строк ветвей в .git/config.

Ответ 2

Если я прочитал git svn справочная страница:

git svn <command> [options] [arguments]

вы должны ввести:

git svn branch -m "message" someFeature 

вместо:

git svn branch someFeature -m "message"