Я работаю над проектом, который использует subversion для своего репозитория. Поскольку мне нужно внести некоторые изменения, которые не могут быть отправлены на сервер svn, я начал использовать git svn, чтобы я мог выполнять локальные проверки. Моя настройка выглядит так:
Филиалы: trunk (трекинг svn trunk), мастер (довольно близко к чему в svn) и тема.
*------------------ trunk
\
*-----------*--------- master
\
*-------- topic
Workflow:
[on branch master]
$ git svn fetch
$ git svn rebase
$ git checkout -b topic
$ git rebase master
[hack hack hack]
$ git commit -a
[once upstream is ready for my changes]
$ git svn fetch
$ git checkout master
$ git svn rebase
$ git checkout topic
$ git rebase master
$ git svn dcommit
$ git checkout master
$ git svn rebase
$ git branch -d topic
Предполагая, что никто не фиксирует svn между git svn fetch и git svn rebase,
Выполняется ли git svn rebase на главном сервере так же, как git rebase trunk выполняется на master?
Есть ли более разумный рабочий процесс для использования? Кажется, что происходит много изменений в ветких и происходит переполнение. Я понимаю, что хочу, чтобы у меня была возможность перезагрузить мою работу поверх всего в svn, но похоже, что я делаю больше переустановок, чем это необходимо.