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

Re: [PATCH 3/6] run-command: optimize out useless shell calls

From
Johannes Sixt <j6t@kdbg.org>
Date
Dec 31, 2009, 21:41 UTC
Message-ID
<200912312241.37895.j6t@kdbg.org>
In-Reply-To
<7v4on7x6w1.fsf@alter.siamese.dyndns.org>
On Donnerstag, 31. Dezember 2009, Junio C Hamano wrote:
Show 17 quoted lines
> It is a cute idea that covers 70-80% of the cases, as you also have to
> assume that you don't have to specify your own pager on a path with IFS
> (e.g. "Program files" in your example) and give your parameter to the
> pager at the same time, e.g.
>
>     PAGER="C:\Program Files\cygwin\bin\less -FRSX"
>
> Because it has its own LESS environment to set FRSX and you can get away
> with:
>
>     PAGER="C:\Program Files\cygwin\bin\less"
>     LESS=FRSX
>
> "less" is not a representative example for this issue.  In real life I
> suspect that custom programs that we don't ship with git (or you don't
> ship with msysgit) would lack such a workaround, (and that is why I didn't
> say "98% of the cases").
OTOH, once you see that you would have to set
	PAGER: C:\Program Files\cygwin\bin\less -FRSX

(I'm not using shell syntax here; think of a dialog that has name and value in separate edit boxes) then it is rather obvious that this cannot work. If you are clever (and you probably are - after all, you are modifying something esoteric: the environment!), then you will have heard about the magic double-quotes, and you will write this as

	PAGER: "C:\Program Files\cygwin\bin\less" -FRSX
instead, and it will work as intended.
Granted, "less" is not representative.
	GIT_EDITOR: "C:\Program Files\Notepad++\notepad++" -multiInst
is probably more realistic (but I didn't test it).
-- Hannes
Previous: Junio C HamanoNext: Jeff King
Message 20 of 33 in “Giving command line parameter to textconv command?”
  1. Nanako ShiraishiDec 14, 2009
  2. Junio C HamanoDec 14, 2009
  3. Nanako ShiraishiDec 15, 2009
  4. Junio C HamanoDec 15, 2009
  5. Jeff KingDec 15, 2009
  6. Junio C HamanoDec 16, 2009
  7. Jeff KingDec 16, 2009
  8. Jeff KingDec 15, 2009
  9. Junio C HamanoDec 15, 2009
  10. Nanako ShiraishiDec 30, 2009
  11. Junio C HamanoDec 30, 2009
  12. Jeff KingDec 30, 2009
  13. 1/6 run-command: add "use shell" optionJeff King, Dec 30, 2009
  14. Erik Faye-LundDec 30, 2009
  15. Johannes SixtJan 1, 2010
  16. 2/6 run-command: convert simple callsites to use_shellJeff King, Dec 30, 2009
  17. 3/6 run-command: optimize out useless shell callsJeff King, Dec 30, 2009
  18. Johannes SixtDec 31, 2009
  19. Junio C HamanoDec 31, 2009
  20. Johannes SixtDec 31, 2009
  21. Jeff KingDec 31, 2009
  22. Johannes SixtDec 31, 2009
  23. Jeff KingJan 1, 2010
  24. Johannes SixtJan 1, 2010
  25. 4/6 editor: use run_command's shell featureJeff King, Dec 30, 2009
  26. 5/6 textconv: use shell to run helperJeff King, Dec 30, 2009
  27. 6/6 diff: run external diff helper with shellJeff King, Dec 30, 2009
  28. 7/6 t0021: use $SHELL_PATH for the filter scriptJohannes Sixt, Jan 1, 2010
  29. 8/6 t4030, t4031: work around bogus MSYS bash path conversionJohannes Sixt, Jan 1, 2010
  30. Jeff KingJan 3, 2010
  31. Johannes SixtJan 4, 2010
  32. Jeff KingJan 4, 2010
  33. Johannes SixtJan 4, 2010

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.