Re: [PATCH] die_with_status: use "printf '%s\n'", not "echo"
- From
Thomas Rast <trast@inf.ethz.ch>
- Date
- Aug 7, 2013, 08:58 UTC
- Message-ID
- <871u65yj0v.fsf@linux-k42r.v.cablecom.net>
- In-Reply-To
- <1375813604-10565-1-git-send-email-Matthieu.Moy@imag.fr>
Matthieu Moy <Matthieu.Moy@imag.fr> writes:
Show 11 quoted lines
> 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@gnu.org> > Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
[...]
Show 11 quoted lines
> +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