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

Reply via email to