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

Re: [PATCH] Use SHELL_PATH from build system in run_command.c:prepare_shell_cmd

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Mar 29, 2012, 23:00 UTC
Message-ID
<20120329230043.GB27829@burratino>
In-Reply-To
<1332977191-29069-1-git-send-email-bwalton@artsci.utoronto.ca>
Ben Walton wrote:
[...]
> 2. The git wrapper could prepend SANE_TOOL_PATH to PATH for
>    consistency with builtin commands.

The phrase "builtin commands" left me confused for a moment --- busybox-style builtins and standalone commands in C both don't get the PATH fixup.

I think you meant scripted commands (i.e., commands that get the PATH fixup by sourcing git-sh-setup).

Show 10 quoted lines
> 3. The run_command.c:prepare_shell_command() could use the same
>    SHELL_PATH that is in the #! line of all all scripts.
>
> Option 1 would preclude opening a bidirectional pipe to a filter
> script and would also break git for Windows as cmd.exe is spawned from
> system() (cf. v1.7.5-rc0~144^2, "alias: use run_command api to execute
> aliases, 2011-01-07).
>
> Option 2 is voided by the same example that turned up this issue.
> SANE_TOOL_PATH might also include 'insane' tools.

As Junio mentioned, the only insane tool that SANE_TOOL_PATH is allowed to point to is sh. I guess the note on insane tools was meant as a wistful observation, but it didn't come through clearly.

Maybe a reference to v1.5.5-rc0~5^2~3 (filter-branch: use $SHELL_PATH instead of 'sh', 2008-03-12) would make the motivation behind the "don't trust sh" principle clearer.

> Option 3 is the best choice

Makes sense to me and the patch looks good. Thanks for your perseverance.

Ciao, Jonathan

Previous: Jonathan NiederNext: Ben Walton
Message 21 of 29 in “Make run-command.c honour SHELL_PATH”
  1. 0/2 Make run-command.c honour SHELL_PATHBen Walton, Mar 25, 2012
  2. 1/2 run-command.c: Define SHELL_PATH macro for use in prepare_shell_cmdBen Walton, Mar 25, 2012
  3. 2/2 Makefile: Set EXTRA_CPPFLAGS during the compilation of run-commandBen Walton, Mar 25, 2012
  4. Jonathan NiederMar 26, 2012
  5. Ben WaltonMar 26, 2012
  6. Jeff KingMar 26, 2012
  7. Ben WaltonMar 26, 2012
  8. Jeff KingMar 26, 2012
  9. Use SHELL_PATH to fork commands in run_command.c:prepare_shell_cmdBen Walton, Mar 27, 2012
  10. Jeff KingMar 27, 2012
  11. Jeff KingMar 27, 2012
  12. Jonathan NiederMar 27, 2012
  13. Jeff KingMar 27, 2012
  14. Jonathan NiederMar 27, 2012
  15. Johannes SixtMar 27, 2012
  16. Ben WaltonMar 28, 2012
  17. Jeff KingMar 28, 2012
  18. Use SHELL_PATH from build system in run_command.c:prepare_shell_cmdBen Walton, Mar 28, 2012
  19. Junio C HamanoMar 29, 2012
  20. Jonathan NiederMar 29, 2012
  21. Jonathan NiederMar 29, 2012
  22. Ben WaltonMar 28, 2012
  23. Jonathan NiederMar 27, 2012
  24. Jonathan NiederMar 27, 2012
  25. Ben WaltonMar 27, 2012
  26. Jonathan NiederMar 26, 2012
  27. Jeff KingMar 26, 2012
  28. Jeff KingMar 26, 2012
  29. Jonathan NiederMar 30, 2012

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.