Thread (4 messages) flat view 4 messages, 2 authors, 2016-06-15

Re: git rebase + fuzz = possible bad merge

From: Benny Halevy <hidden>
Date: 2016-06-15 22:46:27

On Mar. 23, 2009, 15:54 +0200, Thomas Rast [off-list ref] wrote:
Benny Halevy wrote:
quoted
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.
[...]
quoted
{ for i in {1..10}; do echo fuzz $i; done; echo; cat test_file; } > fuzz_file
[...]
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help