Subject: Re: [PATCH 5/7] transport: Remove git_transport_options.push_cert

From: Junio C Hamano <[email-masked]>
Date: Fri, 14 Aug 2015 16:14:30 -0700

Dave Borowitz <[email-masked]> writes:

> This field was set in transport_set_option, but never read in the push
> code. The push code basically ignores the smart_options field
> entirely, and derives its options from the flags arguments to the
> push* callbacks. Note that in git_transport_push there are already
> several args set from flags that have no corresponding field in
> git_transport_options; after this change, push_cert is just like
> those.
>
> Signed-off-by: Dave Borowitz <[email-masked]>
> ---

Thanks for cleaning up my mess.

Honestly, to me, the smart transport is always a second-class
citizen (and http walkers are not even citizens ;-)) and any support
of new feature is added as an after-thought once the feature starts
working with the native transport, and that development pattern
clearly shows in a place like this.

>  transport.c | 3 ---
>  transport.h | 1 -
>  2 files changed, 4 deletions(-)
>
> diff --git a/transport.c b/transport.c
> index 40692f8..3dd6e30 100644
> --- a/transport.c
> +++ b/transport.c
> @@ -476,9 +476,6 @@ static int set_git_option(struct git_transport_options *opts,
>  				die("transport: invalid depth option '%s'", value);
>  		}
>  		return 0;
> -	} else if (!strcmp(name, TRANS_OPT_PUSH_CERT)) {
> -		opts->push_cert = !!value;
> -		return 0;
>  	}
>  	return 1;
>  }
> diff --git a/transport.h b/transport.h
> index 18d2cf8..79190df 100644
> --- a/transport.h
> +++ b/transport.h
> @@ -12,7 +12,6 @@ struct git_transport_options {
>  	unsigned check_self_contained_and_connected : 1;
>  	unsigned self_contained_and_connected : 1;
>  	unsigned update_shallow : 1;
> -	unsigned push_cert : 1;
>  	int depth;
>  	const char *uploadpack;
>  	const char *receivepack;