Stefan Beller <sbel...@google.com> writes:

> Signed-off-by: Stefan Beller <sbel...@google.com>
> ---
>
> Notes:
>     name it to_free
>
>  transport.c | 17 +++++++++++++++--
>  1 file changed, 15 insertions(+), 2 deletions(-)
>
> diff --git a/transport.c b/transport.c
> index 651f0ac..b49fc60 100644
> --- a/transport.c
> +++ b/transport.c
> @@ -496,15 +496,28 @@ static int set_git_option(struct git_transport_options 
> *opts,
>  static int connect_setup(struct transport *transport, int for_push, int 
> verbose)
>  {
>       struct git_transport_data *data = transport->data;
> +     const char *remote_program;
> +     char *to_free = 0;

        char *to_free = NULL;

> +     remote_program = (for_push ? data->options.receivepack
> +                                : data->options.uploadpack);
> +
> +     if (transport->smart_options->transport_version >= 2) {
> +             to_free = xmalloc(strlen(remote_program) + 12);
> +             sprintf(to_free, "%s-%d", remote_program,
> +                     transport->smart_options->transport_version);
> +             remote_program = to_free;
> +     }

Hmph, so everybody else thinks it is interacting with 'upload-pack',
and this is the only function that knows it is actually talking with
'upload-pack-2'?

I am wondering why there isn't a separate helper function that
munges data->options.{uploadpack,receivepack} fields based on
the value of transport_version that is called _before_ this function
is called.

Also, how does this interact with the name of the program the end
user can specify via "fetch --upload-pack=<program name>" option?

>       data->conn = git_connect(data->fd, transport->url,
> -                              for_push ? data->options.receivepack :
> -                              data->options.uploadpack,
> +                              remote_program,
>                                verbose ? CONNECT_VERBOSE : 0);
>  
> +     free(to_free);
> +
>       return 0;
>  }
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to