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

Re: [PATCH 1/4] mergetool--lib: Simplify command expressions

From
David Aguilar <davvid@gmail.com>
Date
Jan 27, 2013, 22:18 UTC
Message-ID
<CAJDDKr61wS1ruPYDW4+exWBWveyS0Dp7Gmu5gWRh_99-frc_7Q@mail.gmail.com>
In-Reply-To
<5105A56E.4010002@kdbg.org>
On Sun, Jan 27, 2013 at 2:08 PM, Johannes Sixt <j6t@kdbg.org> wrote:
Show 16 quoted lines
> Am 27.01.2013 22:24, schrieb David Aguilar:
>> Use $(command "$arg") instead of "$(command "$arg")" as the latter is
>> harder to read.
>
> If at all, you should restrict yourself to simplify only variable
> assignments. Because this case:
>
>> -     if test -z "$(get_merge_tool_cmd "$merge_tool")" &&
>> +     if test -z $(get_merge_tool_cmd "$merge_tool") &&
>
> cannot work as intended: If the output of $() is empty, then without the
> outer quotes this becomes
>
>   test -z
>
> without an operand for -z, which is a syntax error (of the test command).

Definitely. I learned this the hard way when the tests broke on me while working it ;-) My patch rewrites things to always use var=$(command) expressions with separate test "$var" evaluating them. Thanks for the tip,

-- 
David
Previous: Johannes SixtNext: Junio C Hamano
Message 4 of 18 in “Documentation: Auto-generate merge tool lists”
  1. 0/4 Documentation: Auto-generate merge tool listsDavid Aguilar, Jan 27, 2013
  2. 1/4 mergetool--lib: Simplify command expressionsDavid Aguilar, Jan 27, 2013
  3. Johannes SixtJan 27, 2013
  4. David AguilarJan 27, 2013
  5. Junio C HamanoJan 27, 2013
  6. Junio C HamanoJan 27, 2013
  7. 2/4 mergetool--lib: Improve the help text in guess_merge_tool()David Aguilar, Jan 27, 2013
  8. Junio C HamanoJan 27, 2013
  9. 3/4 mergetool--lib: Add functions for finding available toolsDavid Aguilar, Jan 27, 2013
  10. Johannes SixtJan 27, 2013
  11. Junio C HamanoJan 27, 2013
  12. John KeepingJan 27, 2013
  13. Junio C HamanoJan 27, 2013
  14. David AguilarJan 27, 2013
  15. 4/4 doc: Generate a list of valid merge toolsDavid Aguilar, Jan 27, 2013
  16. Junio C HamanoJan 27, 2013
  17. John KeepingJan 27, 2013
  18. Junio C HamanoJan 27, 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.