Subject: Re: git-svn rebase can change branches during merge?

From: Jan Krüger <[email-masked]>
Date: Mon, 16 Mar 2009 23:36:41 +0100

Hi Kevin,

> I've outlined steps where I can reproduce this bug here:
> http://gist.github.com/80058
> 
> When using "git svn rebase" and there is a conflict between a local
> (git) change and an upstream (svn) change, the local git repository is
> left in a ghost-branch. It shouldn't change branches during a rebase,
> should it? I also seem to be unable to recover from the merge
> conflict, but that may be just due to the noob at the keyboard (me).

rebase doesn't actually switch to another branch here, but it does
detach HEAD. To get back to a state you can work from, it's a simple
case of following the instructions rebase outputs:

1) edit conflicted files to fix the conflicts.
2) stage new versions of files (e.g. git add file.txt)
3) git rebase --continue

Here's what happens:

jast@perceptron 1% cat test.txt
<<<<<<< HEAD:test.txt
git svn rebase blows up here
=======
hello from svn
hello from git
>>>>>>> add to txt file from git:test.txt
jast@perceptron % git branch
* (no branch)
  master
jast@perceptron % vim test.txt
[...]
jast@perceptron % git add test.txt
jast@perceptron % git rebase --continue
Applying: add to txt file from git
jast@perceptron % git branch
* master
jast@perceptron %

Make sense?
-Jan