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.