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

Re: git push output goes into stderr

From
Jeff King <peff@peff.net>
Date
Sep 8, 2011, 07:07 UTC
Message-ID
<20110908070706.GA1454@sigill.intra.peff.net>
In-Reply-To
<CAMK1S_gro=THLkc_wrHSLwUVaJp9k-zRDuFDQpOGaiyBTHiDnQ@mail.gmail.com>
On Thu, Sep 08, 2011 at 11:12:48AM +0530, Sitaram Chamarty wrote:
Show 15 quoted lines
> > But with a program whose main function is to perform an action, like
> > "git push", I think there are really two ways to look at it:
> >
> >  1. There is no main output; any progress or status update is just
> >     diagnostic chat, and should go to stderr.
> >
> >  2. The main output is the status report; it goes to stdout, and
> >     progress updates go to stderr.
> 
> I always thought if you write stuff to stdout the remote client gets
> confused because it is executing to a defined protocol and suddenly
> sees unexpected input in the middle.
> 
> Bit if *you* are saying this (output random stuff to STDOUT) can
> happen if we want it to, clearly I was wrong...

For the remote side, yes, we have to be sure not to pollute stdout, because that's where the protocol is going.. But the status table is generated on the client side, so stdout is just connected to the user's terminal there.

We already generate --porcelain status output from push on stdout (and again, that makes sense to me philosophically, because the user is asking push to generate the output). So it's clearly not a big deal. It's just a matter of taste.

-Peff
Previous: Sitaram ChamartyNext: Sitaram Chamarty
Message 6 of 8 in “git push output goes into stderr”
  1. Lynn LinSep 4, 2011
  2. Junio C HamanoSep 5, 2011
  3. Clemens BuchacherSep 6, 2011
  4. Jeff KingSep 7, 2011
  5. Sitaram ChamartySep 8, 2011
  6. Jeff KingSep 8, 2011
  7. Sitaram ChamartySep 8, 2011
  8. Sitaram ChamartySep 5, 2011

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.