diff options
author | Junio C Hamano <gitster@pobox.com> | 2015-02-09 14:37:17 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-02-09 14:37:17 -0800 |
commit | 507d6aa5bf2fb9f56d0c7f70d4ff3b8177da9d8e (patch) | |
tree | ef1fc1dd06e2e394ebf75652b41ac732c2fdddfb /transport.c | |
parent | Merge branch 'mh/reflog-expire' into mh/ref-trans-value-check (diff) | |
parent | Document receive.advertiseatomic (diff) | |
download | tgif-507d6aa5bf2fb9f56d0c7f70d4ff3b8177da9d8e.tar.xz |
Merge branch 'sb/atomic-push' into mh/ref-trans-value-check
* sb/atomic-push:
Document receive.advertiseatomic
t5543-atomic-push.sh: add basic tests for atomic pushes
push.c: add an --atomic argument
send-pack.c: add --atomic command line argument
send-pack: rename ref_update_to_be_sent to check_to_send_update
receive-pack.c: negotiate atomic push support
receive-pack.c: add execute_commands_atomic function
receive-pack.c: move transaction handling in a central place
receive-pack.c: move iterating over all commands outside execute_commands
receive-pack.c: die instead of error in case of possible future bug
receive-pack.c: shorten the execute_commands loop over all commands
Diffstat (limited to 'transport.c')
-rw-r--r-- | transport.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/transport.c b/transport.c index 08bcd3a4eb..0694a7cf3e 100644 --- a/transport.c +++ b/transport.c @@ -728,6 +728,10 @@ static int print_one_push_status(struct ref *ref, const char *dest, int count, i ref->deletion ? NULL : ref->peer_ref, "remote failed to report status", porcelain); break; + case REF_STATUS_ATOMIC_PUSH_FAILED: + print_ref_status('!', "[rejected]", ref, ref->peer_ref, + "atomic push failed", porcelain); + break; case REF_STATUS_OK: print_ok_ref_status(ref, porcelain); break; @@ -826,6 +830,7 @@ static int git_transport_push(struct transport *transport, struct ref *remote_re args.dry_run = !!(flags & TRANSPORT_PUSH_DRY_RUN); args.porcelain = !!(flags & TRANSPORT_PUSH_PORCELAIN); args.push_cert = !!(flags & TRANSPORT_PUSH_CERT); + args.atomic = !!(flags & TRANSPORT_PUSH_ATOMIC); args.url = transport->url; ret = send_pack(&args, data->fd, data->conn, remote_refs, |