Stefan Beller <[email protected]> writes:
> From: Ronnie Sahlberg <[email protected]>
>
> This adds support to the protocol between send-pack and receive-pack to
> * allow receive-pack to inform the client that it has atomic push capability
> * allow send-pack to request atomic push back.
>
> There is currently no setting in send-pack to actually request that atomic
> pushes are to be used yet. This only adds protocol capability not ability
> for the user to activate it.
Hmph, am I reading the patch to send-pack.c correctly?
It detects if the other side supports the capability and leaves it
in atomic_push_supported variable for later use, and also requests
the feature to be activated when atomic_push is set, but I see no
logic to link these two together, e.g. error out when atomic_push
is true and atomic_push_supported is false (or turn it off with a
warning, or whatever).
> diff --git a/send-pack.c b/send-pack.c
> index 949cb61..1ccc84c 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 atomic_push_supported = 0;
> + int atomic_push = 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-push"))
> + atomic_push_supported = 1;
> if (args->push_cert) {
> int len;
>
> @@ -335,6 +339,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 (atomic_push)
> + strbuf_addstr(&cap_buf, " atomic-push");
> if (agent_supported)
> strbuf_addf(&cap_buf, " agent=%s", git_user_agent_sanitized());
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html