Matthieu Moy <Matthieu.Moy@xxxxxxx> writes: > At least GNU echo interprets backslashes in its arguments. > > This triggered at least one bug: the error message of "rebase -i" was > turning \t in commit messages into actual tabulations. There may be > others. > > Using "printf '%s\n'" instead avoids this bad behavior, and is the form > used by the "say" function. > > Noticed-by: David Kastrup <dak@xxxxxxx> > Signed-off-by: Matthieu Moy <Matthieu.Moy@xxxxxxx> [...] > +test_expect_success 'rebase -i error on commits with \ in message' ' > + current_head=$(git rev-parse HEAD) > + test_when_finished "git rebase --abort; git reset --hard $current_head; rm -f error" && > + test_commit TO-REMOVE will-conflict old-content && > + test_commit "\temp" will-conflict new-content dummy && > + ( > + EDITOR=true && > + export EDITOR && > + test_must_fail git rebase -i HEAD^ --onto HEAD^^ 2>error > + ) && > + grep -v " " error Umm, doesn't that only test that _some_ line in the error does not contain a tab? Whereas you need to test that _no_ line contains <TAB>emp, or some such. Perhaps as ! grep -v " emp" error > +' > + > test_done -- Thomas Rast trast@{inf,student}.ethz.ch -- 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