On Fri, Dec 19, 2014 at 2:38 PM, Stefan Beller <sbeller@xxxxxxxxxx> wrote: > From: Ronnie Sahlberg <sahlberg@xxxxxxxxxx> > > This adds support to send-pack to negotiate and use atomic pushes > iff the server supports it. Atomic pushes are activated by a new command > line flag --atomic. > > Signed-off-by: Ronnie Sahlberg <sahlberg@xxxxxxxxxx> > Signed-off-by: Stefan Beller <sbeller@xxxxxxxxxx> > --- > diff --git a/builtin/send-pack.c b/builtin/send-pack.c > index b564a77..b961e5a 100644 > --- a/builtin/send-pack.c > +++ b/builtin/send-pack.c > @@ -282,6 +282,30 @@ free_return: > return update_seen; > } > > + > +static int atomic_push_failure(struct send_pack_args *args, > + struct ref *remote_refs, > + struct ref *failing_ref) > +{ > + struct ref *ref; > + /* Mark other refs as failed */ > + for (ref = remote_refs; ref; ref = ref->next) { > + if (!ref->peer_ref && !args->send_mirror) > + continue; > + > + switch (ref->status) { > + case REF_STATUS_EXPECTING_REPORT: > + ref->status = REF_STATUS_ATOMIC_PUSH_FAILED; > + continue; > + default: > + ; /* do nothing */ > + } > + } > + error("atomic push failed for ref %s. status: %d\n", > + failing_ref->name, failing_ref->status); > + return -1; Not itself worth a re-send, but if you do re-send for some other reason... return error(...); would be more idiomatic (as mentioned in the previous review). > +} > + > int send_pack(struct send_pack_args *args, > int fd[], struct child_process *conn, > struct ref *remote_refs, -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html