Thread (23 messages) flat view 23 messages, 5 authors, 2016-06-15

Re: [PATCH 3/3] make git push --dry-run --porcelain exit with status 0 even if updates will be rejected

From: Jeff King <hidden>
Date: 2016-06-15 22:48:11

On Fri, Feb 05, 2010 at 03:05:24PM -0500, Larry D'Anna wrote:
quoted
So shouldn't it just be:

  if (args->porcelain && args->dry_run)
          return 0;

after we check for transport errors but before the loop that you are
modifying.
I don't know what the deal is with REF_STATUS_EXPECTING_REPORT, so I
didn't want to modify the behavior in the case that ref->status was
that.  What does expecting report mean?
It means we told the other side we wanted to push that ref, and we
expect it to give us a status report. Most refs are in that state for a
short period, and then moved to their final state in
builtin-send-pack.c:receive_status. But if we never get a status for
that ref for some reason, then that could be the final state.

But more to the point, I don't think this bit of code should _have_ to
care what it means. If there is a per-ref error with "push --dry-run
--porcelain", it will be shown on that ref's output line. So I think
your proposal should simply be "if dry-run and porcelain, don't bother
looking at per-ref errors at all". You don't care what the per-ref
error is; they are all in the same class from the perspective of this
change.

-Peff
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help