Subject: Re: Rebase doesn't restore branch pointer back on out of memory

From: Andrew Wong <[email-masked]>
Date: Wed, 03 Oct 2012 17:52:53 -0400

On 10/03/2012 03:47 PM, Alexander Kostikov wrote:
> Expected behaviour:
> - restore branch to pre-rebase location on out of memory exception
> - not to fall with out of memory in the first place. But for our
> repository that could be fixed only after either:
> --- a) msysgit would have x64 binary (currently it's not available)
> --- b) rebase -m option could be used by default somehow (currently
> it's not possible so specify default -m)
There are already some logic in "rebase" that will handles failures. And 
in the case of failures, the behavior is that "rebase" will just stop 
and not modify the branch. That allows you can go back to the pre-rebase 
state by "rebase --abort".

In your case, it's possible that "rebase" is failing at unexpected 
places, and the error wasn't caught. I tried a few simple cases by 
forcing some commands to fail during a rebase, but I couldn't reproduce 
the behavior that you're having. It might help if we can figure out 
which part of "rebase" or "git" is failing (or running out of memory).

And since you're using msysgit, I guess another possible source of the 
problem is be that msysgit is not catching the error properly, or not 
relying the error back to git properly.