Re: git rebase + fuzz = possible bad merge
- From
- Benny Halevy <bhalevy@panasas.com>
- Date
- Mar 23, 2009, 14:06 UTC
- Message-ID
- <49C79780.20105@panasas.com>
- In-Reply-To
- <200903231454.48600.trast@student.ethz.ch>
On Mar. 23, 2009, 15:54 +0200, Thomas Rast <trast@student.ethz.ch> wrote:
Show 17 quoted lines
> Benny Halevy wrote:
>> I'm hitting bad merges with (non interactive) git rebase
>> when a hunk is merged pre-maturely into an inexact match
>> when there's fuzz.
> [...]
>> { for i in {1..10}; do echo fuzz $i; done; echo; cat test_file; } > fuzz_file
> [...]
>> git rebase --onto test_branch master^ master
>
> git-am, and by extension rebase, by default doesn't take history into
> account. It just applies the patches "blindly". Thus, there's no way
> to know which series of 'line N' you really wanted it to go onto.
>
> To avoid this issue, use the -m option to git-rebase so that it uses a
> "real" merge. (You can achieve similar effects for git-am with the -3
> option.)
> OK. -m indeed helps and I'm certainly going to adopt it for my rebase scripts. git rebase -i does too, BTW.
I would expect though that the default mode for automatic rebase would be the strictest and safest...
Benny