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"