From: Junio C Hamano <gitster@pobox.com>
To: Stefan Beller <sbeller@google.com>
Cc: git@vger.kernel.org, mhagger@alum.mit.edu, jrnieder@gmail.com,
ronniesahlberg@gmail.com, Ronnie Sahlberg <sahlberg@google.com>
Subject: Re: [PATCHv2 1/6] receive-pack.c: add protocol support to negotiate atomic-push
Date: Tue, 16 Dec 2014 11:05:28 -0800 [thread overview]
Message-ID: <xmqqbnn3bekn.fsf@gitster.dls.corp.google.com> (raw)
In-Reply-To: <1418755747-22506-1-git-send-email-sbeller@google.com> (Stefan Beller's message of "Tue, 16 Dec 2014 10:49:02 -0800")
Stefan Beller <sbeller@google.com> writes:
> diff --git a/send-pack.c b/send-pack.c
> index 949cb61..2a513f4 100644
> --- a/send-pack.c
> +++ b/send-pack.c
> @@ -294,6 +294,8 @@ int send_pack(struct send_pack_args *args,
> int use_sideband = 0;
> int quiet_supported = 0;
> int agent_supported = 0;
> + int use_atomic;
> + int atomic_supported = 0;
> unsigned cmds_sent = 0;
> int ret;
> struct async demux;
> @@ -314,6 +316,8 @@ int send_pack(struct send_pack_args *args,
> agent_supported = 1;
> if (server_supports("no-thin"))
> args->use_thin_pack = 0;
> + if (server_supports("atomic"))
> + atomic_supported = 1;
> if (args->push_cert) {
> int len;
>
> @@ -328,6 +332,11 @@ int send_pack(struct send_pack_args *args,
> "Perhaps you should specify a branch such as 'master'.\n");
> return 0;
> }
> + if (args->atomic && !atomic_supported) {
> + fprintf(stderr, "Server does not support atomic push.");
> + return -1;
I'd tweak this to
return error("server does not support atomic push.");
to (0) shorten, (1) make sure the message is terminated with LF,
and (2) match the other error messages in the program.
Other than that looks good.
Thanks.
> + }
> + use_atomic = atomic_supported && args->atomic;
>
> if (status_report)
> strbuf_addstr(&cap_buf, " report-status");
> @@ -335,6 +344,8 @@ int send_pack(struct send_pack_args *args,
> strbuf_addstr(&cap_buf, " side-band-64k");
> if (quiet_supported && (args->quiet || !args->progress))
> strbuf_addstr(&cap_buf, " quiet");
> + if (use_atomic)
> + strbuf_addstr(&cap_buf, " atomic");
> if (agent_supported)
> strbuf_addf(&cap_buf, " agent=%s", git_user_agent_sanitized());
>
> diff --git a/send-pack.h b/send-pack.h
> index 5635457..b664648 100644
> --- a/send-pack.h
> +++ b/send-pack.h
> @@ -13,7 +13,8 @@ struct send_pack_args {
> use_ofs_delta:1,
> dry_run:1,
> push_cert:1,
> - stateless_rpc:1;
> + stateless_rpc:1,
> + atomic:1;
> };
>
> int send_pack(struct send_pack_args *args,
next prev parent reply other threads:[~2014-12-16 19:05 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-15 19:56 [PATCH 0/5] Add a flag to push atomically Stefan Beller
2014-12-15 19:56 ` [PATCH 1/5] receive-pack.c: add protocol support to negotiate atomic-push Stefan Beller
2014-12-15 20:53 ` Junio C Hamano
2014-12-15 22:30 ` Stefan Beller
2014-12-15 19:56 ` [PATCH 2/5] send-pack.c: add an --atomic-push command line argument Stefan Beller
2014-12-15 21:01 ` Junio C Hamano
2014-12-15 19:56 ` [PATCH 3/5] receive-pack.c: use a single ref_transaction for atomic pushes Stefan Beller
2014-12-15 21:37 ` Junio C Hamano
2014-12-15 19:56 ` [PATCH 4/5] push.c: add an --atomic-push argument Stefan Beller
2014-12-15 21:50 ` Junio C Hamano
2014-12-15 19:56 ` [PATCH 5/5] t5543-atomic-push.sh: add basic tests for atomic pushes Stefan Beller
2014-12-15 22:29 ` Junio C Hamano
2014-12-15 22:33 ` [PATCH 0/5] Add a flag to push atomically Junio C Hamano
2014-12-16 18:49 ` [PATCHv2 1/6] receive-pack.c: add protocol support to negotiate atomic-push Stefan Beller
2014-12-16 18:49 ` [PATCHv2 2/6] send-pack: Invert the return value of ref_update_to_be_sent Stefan Beller
2014-12-16 19:14 ` Junio C Hamano
2014-12-16 18:49 ` [PATCHv2 3/6] send-pack.c: add --atomic command line argument Stefan Beller
2014-12-16 19:31 ` Junio C Hamano
2014-12-16 18:49 ` [PATCHv2 4/6] receive-pack.c: use a single ref_transaction for atomic pushes Stefan Beller
2014-12-16 19:29 ` Eric Sunshine
2014-12-16 20:30 ` Eric Sunshine
2014-12-16 19:35 ` Junio C Hamano
2014-12-16 18:49 ` [PATCHv2 5/6] push.c: add an --atomic-push argument Stefan Beller
2014-12-16 19:33 ` Eric Sunshine
2014-12-16 20:43 ` Junio C Hamano
2014-12-16 19:36 ` Junio C Hamano
2014-12-16 18:49 ` [PATCHv2 6/6] t5543-atomic-push.sh: add basic tests for atomic pushes Stefan Beller
2014-12-16 19:14 ` [PATCH] receive-pack: refuse all commands if one fails in atomic mode Stefan Beller
2014-12-16 20:32 ` Junio C Hamano
2014-12-16 19:37 ` [PATCHv2 6/6] t5543-atomic-push.sh: add basic tests for atomic pushes Eric Sunshine
2014-12-16 19:46 ` Junio C Hamano
2014-12-16 19:57 ` Stefan Beller
2014-12-16 20:46 ` Junio C Hamano
2014-12-16 20:51 ` Stefan Beller
2014-12-16 20:30 ` Junio C Hamano
2014-12-16 20:36 ` Stefan Beller
2014-12-16 19:05 ` Junio C Hamano [this message]
2014-12-17 18:32 ` [PATCHv3 0/6] " Stefan Beller
2014-12-17 18:32 ` [PATCHv3 1/6] receive-pack.c: add protocol support to negotiate atomic Stefan Beller
2014-12-19 1:05 ` Eric Sunshine
2014-12-17 18:32 ` [PATCHv3 2/6] send-pack: Rename ref_update_to_be_sent to check_to_send_update Stefan Beller
2014-12-17 22:53 ` Junio C Hamano
2014-12-17 18:32 ` [PATCHv3 3/6] send-pack.c: add --atomic command line argument Stefan Beller
2014-12-17 23:14 ` Junio C Hamano
2014-12-19 1:22 ` Eric Sunshine
2014-12-17 18:32 ` [PATCHv3 4/6] receive-pack.c: use a single ref_transaction for atomic pushes Stefan Beller
2014-12-17 23:26 ` Junio C Hamano
2014-12-17 23:58 ` Stefan Beller
2014-12-18 17:02 ` Junio C Hamano
2014-12-18 17:45 ` [PATCHv4 " Stefan Beller
2014-12-18 22:26 ` Eric Sunshine
2014-12-19 0:22 ` [PATCHv5 " Stefan Beller
2014-12-19 10:14 ` Eric Sunshine
2014-12-17 18:32 ` [PATCHv3 5/6] push.c: add an --atomic argument Stefan Beller
2014-12-19 1:29 ` Eric Sunshine
2014-12-17 18:32 ` [PATCHv3 6/6] t5543-atomic-push.sh: add basic tests for atomic pushes Stefan Beller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqbnn3bekn.fsf@gitster.dls.corp.google.com \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=jrnieder@gmail.com \
--cc=mhagger@alum.mit.edu \
--cc=ronniesahlberg@gmail.com \
--cc=sahlberg@google.com \
--cc=sbeller@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.