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

Re: [PATCH] fix an error message in git-push so it goes to stderr

From
Larry D'Anna <larry@elder-gods.org>
Date
Feb 5, 2010, 19:39 UTC
Message-ID
<20100205193950.GA18108@cthulhu>
In-Reply-To
<20100205150638.GB14116@coredump.intra.peff.net>
* Jeff King (peff@peff.net) [100205 10:06]:
Show 24 quoted lines
> On Thu, Feb 04, 2010 at 07:41:40PM -0500, Larry D'Anna wrote:
> 
> > Having it go to standard output interferes with git-push --porcelain.
> > ---
> >  builtin-push.c |    6 +++---
> >  1 files changed, 3 insertions(+), 3 deletions(-)
> > 
> > diff --git a/builtin-push.c b/builtin-push.c
> > index 5633f0a..0a27072 100644
> > --- a/builtin-push.c
> > +++ b/builtin-push.c
> > @@ -124,9 +124,9 @@ static int push_with_options(struct transport *transport, int flags)
> >  		return 0;
> >  
> >  	if (nonfastforward && advice_push_nonfastforward) {
> > -		printf("To prevent you from losing history, non-fast-forward updates were rejected\n"
> > -		       "Merge the remote changes before pushing again.  See the 'Note about\n"
> > -		       "fast-forwards' section of 'git push --help' for details.\n");
> > +		fprintf(stderr, "To prevent you from losing history, non-fast-forward updates were rejected\n"
> > +				"Merge the remote changes before pushing again.  See the 'Note about\n"
> > +				"fast-forwards' section of 'git push --help' for details.\n");
> 
> I agree that stderr is a more sensible place for such a message to go,
> but shouldn't the porcelain output format just suppress it entirely? 

I think you're right. There are some other messages that are similar that should probably also be suppressed.

Also it seems to me that git push --dry-run --porcelain should exit successfully even if it knows some refs will be rejected. The calling script can see just fine for itself that they will be rejected, and it probably still wants to know whether or not the dry-run succeeded, which has nothing to do with whether or not the same push would succeed as a not-dry-run.

    --larry
Previous: Jeff KingNext: Jeff King
Message 11 of 14 in “fix an error message in git-push so it goes to stderr”
  1. fix an error message in git-push so it goes to stderrLarry D'Anna, Feb 5, 2010
  2. Jeff KingFeb 5, 2010
  3. 1/3 fix an error message in git-push so it goes to stderrLarry D'Anna, Feb 5, 2010
  4. 2/3 silence human readable info messages going to stderr from git push --porcelainLarry D'Anna, Feb 5, 2010
  5. Junio C HamanoFeb 5, 2010
  6. Larry D'AnnaFeb 5, 2010
  7. 3/3 make git push --dry-run --porcelain exit with status 0 even if updates will be rejectedLarry D'Anna, Feb 5, 2010
  8. Jeff KingFeb 5, 2010
  9. Larry D'AnnaFeb 5, 2010
  10. Jeff KingFeb 5, 2010
  11. Larry D'AnnaFeb 5, 2010
  12. Jeff KingFeb 5, 2010
  13. Larry D'AnnaFeb 5, 2010
  14. Jeff KingFeb 5, 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.