[PATCH v2 2/3] transport.c::transport_push(): make ref status affect return value
- From
Tay Ray Chuan <rctay89@gmail.com>
- Date
- Dec 8, 2009, 14:36 UTC
- Message-ID
- <20091208223649.d9ff4fed.rctay89@gmail.com>
- In-Reply-To
- <20091208223413.98e99d3e.rctay89@gmail.com>
Use push_had_errors() to check the refs for errors and modify the return value.
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com> ---
Rewrote this.
transport.c | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/transport.c b/transport.c index 12c4423..9b23989 100644 --- a/transport.c +++ b/transport.c @@ -875,7 +875,7 @@ int transport_push(struct transport *transport, int verbose = flags & TRANSPORT_PUSH_VERBOSE; int quiet = flags & TRANSPORT_PUSH_QUIET; int porcelain = flags & TRANSPORT_PUSH_PORCELAIN; - int ret; + int ret, err; if (flags & TRANSPORT_PUSH_ALL) match_flags |= MATCH_REFS_ALL; @@ -892,8 +892,11 @@ int transport_push(struct transport *transport, flags & TRANSPORT_PUSH_FORCE); ret = transport->push_refs(transport, remote_refs, flags); + err = push_had_errors(remote_refs); - if (!quiet || push_had_errors(remote_refs)) + ret |= err; + + if (!quiet || err) print_push_status(transport->url, remote_refs, verbose | porcelain, porcelain, nonfastforward); -- 1.6.4.4