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

Re: [PATCH resend 3/3] transport.c::transport_push(): make ref status affect return value

From
Jeff King <peff@peff.net>
Date
Dec 4, 2009, 10:20 UTC
Message-ID
<20091204102039.GB27495@coredump.intra.peff.net>
In-Reply-To
<20091204145842.57c3c51c.rctay89@gmail.com>
On Fri, Dec 04, 2009 at 02:58:42PM +0800, Tay Ray Chuan wrote:
Show 11 quoted lines
> -		if (!quiet || push_had_errors(remote_refs))
> -			print_push_status(transport->url, remote_refs,
> -					verbose | porcelain, porcelain,
> -					nonfastforward);
> +		if (!quiet)
> +			if (push_had_errors(remote_refs)) {
> +				ret = -1;
> +				print_push_status(transport->url, remote_refs,
> +						verbose | porcelain, porcelain,
> +						nonfastforward);
> +			}

Er, this doesn't seem right. It will no longer print anything under non-quiet mode unless there are errors, and it will only set a return value in non-quiet mode.

I think you want:
  if (push_had_errors(remote_refs)) {
          ret = -1;
          if (!quiet)
                  print_push_status(...)
  }
  else if (!quiet)
          print_push_status(...)
Actually, it may simply be more readable by storing the error result:
  int err = push_had_errors(remote_refs);
  if (err)
    ret = -1;
  if (!quiet || err)
    print_push_status(...);
-Peff
Previous: Tay Ray ChuanNext: Tay Ray Chuan
Message 5 of 12 in “transport: catch non-fast-forwards”
  1. 0/3 transport: catch non-fast-forwardsTay Ray Chuan, Dec 4, 2009
  2. 1/3 refactor ref status logic for pushingTay Ray Chuan, Dec 4, 2009
  3. 2/3 transport-helper.c::push_refs(): know more about refs before pushingTay Ray Chuan, Dec 4, 2009
  4. 3/3 transport.c::transport_push(): make ref status affect return valueTay Ray Chuan, Dec 4, 2009
  5. Jeff KingDec 4, 2009
  6. 0/6 transport: catch non-fast forwardsTay Ray Chuan, Jan 8, 2010
  7. 1/6 t5541-http-push.sh: add tests for non-fast-forward pushesTay Ray Chuan, Jan 8, 2010
  8. 2/6 t5541-http-push.sh: add test for unmatched, non-fast-forwarded refsTay Ray Chuan, Jan 8, 2010
  9. 3/6 refactor ref status logic for pushingTay Ray Chuan, Jan 8, 2010
  10. 4/6 transport.c::transport_push(): make ref status affect return valueTay Ray Chuan, Jan 8, 2010
  11. 5/6 transport-helper.c::push_refs(): ignore helper-reported status if ref is not to be pushedTay Ray Chuan, Jan 8, 2010
  12. 6/6 transport-helper.c::push_refs(): emit "no refs" error messageTay Ray Chuan, Jan 8, 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.