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

Re: [PATCH 10/10] t/t9001-send-email.sh: get rid of unnecessary backquotes

From
Junio C Hamano <gitster@pobox.com>
Date
Jan 8, 2016, 18:12 UTC
Message-ID
<xmqq7fjk2b56.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<vpqa8ogdsyr.fsf@anie.imag.fr>
Matthieu Moy <Matthieu.Moy@grenoble-inp.fr> writes:
Show 21 quoted lines
> Elia Pinto <gitter.spiros@gmail.com> writes:
>
>> Instead of making the shell expand 00* and invoke 'echo' with it,
>> and then capturing its output as command substitution, just use
>> the result of expanding 00* directly.
>
> This is not actually how it happens. cover=`echo *` expands the * before
> the assignment to $cover, while cover="*" assigns a litteral * to
> $cover.
>
> Then, when you use $cover, the variable is expanded to * and then it is
> expanded to filenames here:
>
>>  	mv $cover cover-to-edit.patch &&
>
> On the other hand, this instance of $cover is quoted, hence the
> *-expansion won't happen:
>
>>  	perl -pe "s/^From:/$header: extra\@address.com\nFrom:/" cover-to-edit.patch >"$cover" &&
>
> So, I believe this patch is not correct.

I think this tried to mimick 6ffd3ec8 but the context covered by that commit is different from the right hand side of an assignment.

You are right that [10/10] changes where the expansion happens and is not a faithful conversion. The result may be the same, though ;-)

If anything, I think
        -	mv $cover cover-to-edit.patch &&
        +	mv "$cover" cover-to-edit.patch &&

is a prudent thing to do, but that is orthogonal to what 10/10 tried to do.

>
> OTOH, patches 1 to 9 look good to me.
Previous: Matthieu MoyNext: Elia Pinto
Message 13 of 17 in “use the $( ... ) construct for command substitution”
  1. 00/10 use the $( ... ) construct for command substitutionElia Pinto, Jan 8, 2016
  2. 01/10 t/t7103-reset-bare.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 8, 2016
  3. 02/10 t/t7406-submodule-update.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 8, 2016
  4. 03/10 t/t7408-submodule-reference.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 8, 2016
  5. 04/10 t/t7504-commit-msg-hook.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 8, 2016
  6. 05/10 t/t7505-prepare-commit-msg-hook.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 8, 2016
  7. 06/10 t/t7602-merge-octopus-many.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 8, 2016
  8. 07/10 t/t7700-repack.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 8, 2016
  9. 08/10 t/t8003-blame-corner-cases.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 8, 2016
  10. 09/10 t/t9001-send-email.sh: use the $( ... ) construct for command substitutionElia Pinto, Jan 8, 2016
  11. 10/10 t/t9001-send-email.sh: get rid of unnecessary backquotesElia Pinto, Jan 8, 2016
  12. Matthieu MoyJan 8, 2016
  13. Junio C HamanoJan 8, 2016
  14. Elia PintoJan 8, 2016
  15. Junio C HamanoJan 8, 2016
  16. Elia PintoJan 8, 2016
  17. Johannes SixtJan 8, 2016

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.