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. The following shell script reproduce this with git version 1.6.2.1: #!/bin/sh rm -rf test_file .git git init cat >test_file <<EOF struct one { line 1; line 2; line 3; line 4; line 5; line 6; line 7; }; struct two { line 1; line 2; line 3; line 4; line 5; line 6; line 7; }; EOF git add test_file git commit -m test_file git am <<EOF From: Benny Halevy <bhalevy@xxxxxxxxxxx> Subject: change struct two diff --git a/test_file b/test_file --- a/test_file +++ b/test_file @@ -12,7 +12,7 @@ struct two { line 1; line 2; line 3; - line 4; + LINE 4; line 5; line 6; line 7; EOF git checkout -b test_branch HEAD^ { for i in {1..10}; do echo fuzz $i; done; echo; cat test_file; } > fuzz_file mv fuzz_file test_file git commit -a -m fuzz git rebase --onto test_branch master^ master if [ $(awk '/LINE/ {print NR}' test_file) != 26 ]; then echo 1>&2 $0: test failed exit 1 else echo 1>&2 $0: test succeeded fi -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html