[PATCH resend 3/3] transport.c::transport_push(): make ref status affect return value
- From
Tay Ray Chuan <rctay89@gmail.com>
- Date
- Dec 4, 2009, 06:58 UTC
- Message-ID
- <20091204145842.57c3c51c.rctay89@gmail.com>
- In-Reply-To
- <20091204145437.1a9910db.rctay89@gmail.com>
When determining whether to print the ref status table, push_had_errors() is called. Piggy-back this and modify the return value accordingly.
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com> --- transport.c | 11 +++++++---- 1 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/transport.c b/transport.c index 3eea836..32c122b 100644 --- a/transport.c +++ b/transport.c @@ -889,10 +889,13 @@ int transport_push(struct transport *transport, ret = transport->push_refs(transport, remote_refs, flags); - 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); + } if (!(flags & TRANSPORT_PUSH_DRY_RUN)) { struct ref *ref; -- 1.6.6.rc1.286.gbc15a