threads / discuss / 59364

Writing to err vs std

Subject: Writing to err vs std

## tl;dr

4 messages between Mar 8, 2023 and Mar 9, 2023.

replies: 3people: 2as markdown or json

Jay Asbury· Mar 8, 2023, 23:53 UTC · lore

I see things like git fetch and other processing writing details to stderr and not std. Can someone point to why this is and what the rule is for determining when to write to err vs std? See 165f390250874b32ed8158150fe49d574297c9f9 for example. Is there a standard in the git project that says write this to err while write that to std? Any guidance and why would be appreciated.

Thanks, Jay Asbury

Junio C Hamano· Mar 9, 2023, 00:02 UTC · re: Jay Asbury · lore

Re: Writing to err vs std

Jay Asbury <vbjay.net@gmail.com> writes:
> I see things like git fetch and other processing writing details to
> stderr and not std.
I assume you meant "not to standard output".  

As a rule of thumb, the core of the output, the information the end-user asked for, is sent to the standard output, whether it is machine parseable or otherwise. And other stuff like progress meter, warning and advice messages, are sent to the standard error.

This should be documented already in Documentation/CodingGuidelines for our developers. Do you think it needs to be documented for end-users? I suspect that rather than such "principle", they are more interested in seeing what message can be squelched with --quiet and what can be piped to downstream with "git foo |" on case-by-case basis individually.

Jay Asbury· Mar 9, 2023, 00:15 UTC · re: Junio C Hamano · lore

Re: Writing to err vs std

Thanks for the clarification. Some context. https://github.com/gitextensions/gitextensions/issues/9643 which is a side effect of https://github.com/gitextensions/gitextensions/pull/9562

So I just wanted to get some clarification on when err vs std should be used to eliminate confusion.

On Wed, Mar 8, 2023 at 7:02 PM Junio C Hamano <gitster@pobox.com> wrote:
Show 22 quoted lines
>
> Jay Asbury <vbjay.net@gmail.com> writes:
>
> > I see things like git fetch and other processing writing details to
> > stderr and not std.
>
> I assume you meant "not to standard output".
>
> As a rule of thumb, the core of the output, the information the
> end-user asked for, is sent to the standard output, whether it is
> machine parseable or otherwise.  And other stuff like progress
> meter, warning and advice messages, are sent to the standard error.
>
> This should be documented already in Documentation/CodingGuidelines
> for our developers.  Do you think it needs to be documented for
> end-users?  I suspect that rather than such "principle", they are
> more interested in seeing what message can be squelched with --quiet
> and what can be piped to downstream with "git foo |" on case-by-case
> basis individually.
>
>
>
-- 
Jay Asbury
PC Repair and custom programs $30/hr 1hr min
My Biking Blog
Junio C Hamano· Mar 9, 2023, 00:50 UTC · re: Jay Asbury · lore

Re: Writing to err vs std

Jay Asbury <vbjay.net@gmail.com> writes:
Show 6 quoted lines
> Thanks for the clarification. Some context.
> https://github.com/gitextensions/gitextensions/issues/9643 which is a
> side effect of https://github.com/gitextensions/gitextensions/pull/9562
>
> So I just wanted to get some clarification on when err vs std should
> be used to eliminate confusion.

I thought that the practice to equate an error with any byte shown to the standard error died long ago with Tcl ;-)

Thanks.

← back to recent threads