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

Re: [PATCH] t9001: avoid not portable '\n' with sed

From
Junio C Hamano <gitster@pobox.com>
Date
Jun 4, 2014, 17:42 UTC
Message-ID
<xmqqr434vaeh.fsf@gitster.dls.corp.google.com>
In-Reply-To
<538ED6DF.5020505@web.de>
Torsten Bögershausen <tboegi@web.de> writes:
Show 8 quoted lines
> t9001 used a '\n' in a sed expression to split one line into two lines.
> Some versions of sed simply ignore the '\' before the 'n', treating
> '\n' as 'n'.
>
> As the test already requires perl as a prerequisite, use perl instead of sed.
>
> Signed-off-by: Torsten Bögershausen <tboegi@web.de>
> ---
Hmph.  I read this in pubs.opengroup.org/onlinepubs/9699919799/utilities/sed.html
    The escape sequence '\n' shall match a <newline> embedded in the
    pattern space.

so it may be better to be a bit more explicit in the log message to say whose implementation has this issue to warn people.

Show 13 quoted lines
>  t/t9001-send-email.sh | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh
> index 64d9434..2bf48d1 100755
> --- a/t/t9001-send-email.sh
> +++ b/t/t9001-send-email.sh
> @@ -1342,7 +1342,7 @@ test_cover_addresses () {
>  	git format-patch --cover-letter -2 -o outdir &&
>  	cover=`echo outdir/0000-*.patch` &&
>  	mv $cover cover-to-edit.patch &&
> -	sed "s/^From:/$header: extra@address.com\nFrom:/" cover-to-edit.patch >"$cover" &&
> +	"$PERL_PATH" -pe "s/^From:/$header: extra\@address.com\nFrom:/" cover-to-edit.patch | tr Q "$LF" >"$cover" &&

We have a shell function "perl" in test-lib-function.sh these days so that you do not have to write "$PERL_PATH" yourself in tests ;-)

>  	git send-email \
>  	  --force \
>  	  --from="Example <nobody@example.com>" \
Thanks.
Previous: Torsten BögershausenNext: Junio C Hamano
Message 2 of 8 in “t9001: avoid not portable '\n' with sed”
  1. t9001: avoid not portable '\n' with sedTorsten Bögershausen, Jun 4, 2014
  2. Junio C HamanoJun 4, 2014
  3. Junio C HamanoJun 4, 2014
  4. Torsten BögershausenJun 4, 2014
  5. John KeepingJun 4, 2014
  6. Junio C HamanoJun 4, 2014
  7. Andreas SchwabJun 4, 2014
  8. David KastrupJun 4, 2014

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.