I'm working on a project that uses subversion for their repository. Because I need to make some changes that can't be sent to the svn server yet, I started using git svn
so that I could do local checkins. My setup looks like this:
Branches: trunk (tracking svn trunk), master (pretty close to what's in svn), and topic.
*------------------ 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
Presuming that no one commits to svn between git svn fetch
and git svn rebase
,
Is git svn rebase
run on master basically the same as git rebase trunk
run on master?
Is there a more sensible workflow to use? It seems like there's a lot of changing branches and rebasing going on. I understand that I want to be able to rebase my work on top of whatever's in svn, but it seems like I'm doing more rebases than are strictly necessary.