git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
Previous: Matthieu MoyNext: Matthieu Moy
Message 11 of 14 in “git rebase -i error message interprets \t in commit message”
  1. David KastrupAug 6, 2013
  2. Ramkumar RamachandraAug 6, 2013
  3. Junio C HamanoAug 6, 2013
  4. Matthieu MoyAug 6, 2013
  5. David KastrupAug 6, 2013
  6. Matthieu MoyAug 6, 2013
  7. David KastrupAug 6, 2013
  8. Junio C HamanoAug 6, 2013
  9. Junio C HamanoAug 6, 2013
  10. die_with_status: use "printf '%s\n'", not "echo"Matthieu Moy, Aug 6, 2013
  11. Thomas RastAug 7, 2013
  12. Matthieu MoyAug 7, 2013
  13. die_with_status: use "printf '%s\n'", not "echo"Matthieu Moy, Aug 7, 2013
  14. Thomas RastAug 7, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.