The included test case, which uses rebase -p with non-ASCII commit messages, was failing as follows: Warning: the command isn't recognized in the following line: - Binary file (standard input) matches You can fix this with 'git rebase --edit-todo'. Or you can abort the rebase with 'git rebase --abort'. Possibly related to recent GNU grep changes, as with commit 316336379cf7937c2ecf122c7197cfe5da6b2061. Avoid the issue by using sed instead. Signed-off-by: Anders Kaseorg <andersk@xxxxxxx> --- git-rebase--interactive.sh | 2 +- t/t3409-rebase-preserve-merges.sh | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh index c0cfe88..0efc65c 100644 --- a/git-rebase--interactive.sh +++ b/git-rebase--interactive.sh @@ -1241,7 +1241,7 @@ then # be rebasing on top of it git rev-list --parents -1 $rev | cut -d' ' -s -f2 > "$dropped"/$rev sha1=$(git rev-list -1 $rev) - sane_grep -v "^[a-z][a-z]* $sha1" <"$todo" > "${todo}2" ; mv "${todo}2" "$todo" + sed "/^[a-z][a-z]* $sha1/d" <"$todo" > "${todo}2" ; mv "${todo}2" "$todo" rm "$rewritten"/$rev fi done diff --git a/t/t3409-rebase-preserve-merges.sh b/t/t3409-rebase-preserve-merges.sh index 8c251c5..1f01b29 100755 --- a/t/t3409-rebase-preserve-merges.sh +++ b/t/t3409-rebase-preserve-merges.sh @@ -119,4 +119,25 @@ test_expect_success 'rebase -p ignores merge.log config' ' ) ' +test_expect_success 'rebase -p works with non-ASCII commit message' ' + ( + mkdir non-ascii && + cd non-ascii && + git init && + echo a > a && + git add a && + git commit -m a && + echo b > b && + git add b && + git commit -m b && + git branch foo && + git reset --hard HEAD^ && + git cherry-pick -x foo && + echo c > c && + git add c && + git commit -m "$(printf "I \\342\\231\\245 Unicode")" && + git rebase -p foo + ) +' + test_done -- 2.8.0.rc0 -- 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