Я использую git-svn для работы с svn-репозиторием. Схема стандартная, и я создал локальный репозиторий с:
$ git svn clone -s http://mysvnrepo
(master)$
Мне нужно работать над удалённой (svn) веткой - MyBranch, поэтому я создал локальную ветку для отслеживания удалённой:
(master)$ git checkout -b localMyBranch remotes/MyBranch
(localMyBranch)$
Я продолжаю работать и коммитить локальную ветку по мере продвижения, и иногда я делаю dcommit:
(localMyBranch)$ git svn dcommit
Тем временем другие люди работают над стволом, и время от времени я хочу сливать изменения из ствола в свою ветку, чтобы синхронизировать их. Вот тут-то я и запутался, так как не смог найти хорошей информации о том, как это сделать. Пока что я знаю, что мне нужно сделать:
(localMyBranch)$ git svn dcommit
(localMyBranch)$ git checkout master
(master)$ git svn rebase
И что теперь? Я читал, что это НЕ правильный путь:
(master)$ git checkout localMyBranch
(localMyBranch)$ git rebase master
Так как это испортит информацию о слиянии для svn.
Итак, какой лучший способ "перебазировать" мою удаленную ветку svn в удаленный ствол, сохранив информацию о слиянии для svn?