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

Re: [PATCH] test-lib.sh: use printf instead of echo

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 19, 2014, 19:24 UTC
Message-ID
<xmqqob122dq0.fsf@gitster.dls.corp.google.com>
In-Reply-To
<871txygl27.fsf@fencepost.gnu.org>
David Kastrup <dak@gnu.org> writes:
Show 26 quoted lines
> Junio C Hamano <gitster@pobox.com> writes:
>
>> Jonathan Nieder <jrnieder@gmail.com> writes:
>>
>>> Junio C Hamano wrote:
>>>>> Uwe Storbeck wrote:
>>>
>>>>>> +	printf '%s\n' "$@" | sed -e 's/^/#	/'
>>>>
>>>> This is wrong, isn't it?  Why do we want one line per item here?
>>>
>>> Yes, Hannes caught the same, too.  Sorry for the sloppiness.
>>>
>>> We currently use "echo" all over the place (e.g., 'echo "$path"' in
>>> git-sh-setup), and every time we fix it there is a chance of making
>>> mistakes.  I wonder if it would make sense to add a helper to make the
>>> echo calls easier to replace:
>>
>> I agree that we would benefit from having a helper to print a single
>> line, which we very often do, without having to worry about the
>> boilerplate '%s\n' of printf or the portability gotcha of echo.
>>
>> I am a bit reluctant to name the helper "sane_echo" to declare "echo
>> that interprets backslashes in the string is insane", though.
>
> raw_echo

Yeah, but the thing is, this is not even "raw" if you view it from the direction of knowing what "echo" does. That is why I repeated "helper to print a single line", which is a viewpoint from the user side. "We do not care how it is implemented, we just want a single line printed" is what we want to express, which "say" is perfectly in line with. "We use a subset semantics of 'echo' to implement it" is of secondary concern.

Previous: David KastrupNext: Jonathan Nieder
Message 7 of 14 in “test-lib.sh: use printf instead of echo”
  1. test-lib.sh: use printf instead of echoUwe Storbeck, Mar 14, 2014
  2. Jonathan NiederMar 15, 2014
  3. Junio C HamanoMar 17, 2014
  4. Jonathan NiederMar 18, 2014
  5. Junio C HamanoMar 19, 2014
  6. David KastrupMar 19, 2014
  7. Junio C HamanoMar 19, 2014
  8. Jonathan NiederMar 20, 2014
  9. Junio C HamanoMar 20, 2014
  10. Johannes SixtMar 15, 2014
  11. Uwe StorbeckMar 17, 2014
  12. test-lib.sh: use printf instead of echoUwe Storbeck, Mar 17, 2014
  13. test-lib.sh: do not "echo" externally supplied stringsUwe Storbeck, Mar 18, 2014
  14. Junio C HamanoMar 18, 2014

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.