From: Jonathan Nieder <jrnieder@gmail.com>
To: Jonathan Tan <jonathantanmy@google.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] clone: send server options when using protocol v2
Date: Sat, 6 Apr 2019 04:57:28 -0700 [thread overview]
Message-ID: <20190406115728.GB219876@google.com> (raw)
In-Reply-To: <20190405204413.93900-1-jonathantanmy@google.com>
Jonathan Tan wrote:
> Commit 5e3548ef16 ("fetch: send server options when using protocol v2",
> 2018-04-24) taught "fetch" the ability to send server options when using
> protocol v2, but not "clone". This ability is triggered by "-o" or
> "--server-option".
>
> Teach "clone" the same ability, except that because "clone" already
> has "-o" for another parameter, teach "clone" only to receive
> "--server-option".
Can you give an example of what this would be used for? An example I
can think of might be
git clone --server-option=priority=batch <url>
> Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
> ---
> Documentation/git-clone.txt | 7 +++++++
> builtin/clone.c | 6 ++++++
> t/t5702-protocol-v2.sh | 11 +++++++++++
> 3 files changed, 24 insertions(+)
Thanks.
[...]
> --- a/builtin/clone.c
> +++ b/builtin/clone.c
> @@ -66,6 +66,7 @@ static int option_dissociate;
> static int max_jobs = -1;
> static struct string_list option_recurse_submodules = STRING_LIST_INIT_NODUP;
> static struct list_objects_filter_options filter_options;
> +static struct string_list server_options = STRING_LIST_INIT_DUP;
The other string-list options in this file all use NODUP. Is there a
reason this one uses DUP instead? (Just curious --- I suspect either
would work fine, since nothing here does tricks with modifying argv
entries after option parsing.)
The same question applies to the corresponding option in
builtin/fetch.c, so while it is not likely to matter in practice, it
would be nice for readability to find out.
>
> static int recurse_submodules_cb(const struct option *opt,
> const char *arg, int unset)
> @@ -137,6 +138,8 @@ static struct option builtin_clone_options[] = {
> N_("separate git dir from working tree")),
> OPT_STRING_LIST('c', "config", &option_config, N_("key=value"),
> N_("set config inside the new repository")),
> + OPT_STRING_LIST(0, "server-option", &server_options, N_("server-specific"),
nit: long line
> + N_("option to transmit")),
[...]
> --- a/t/t5702-protocol-v2.sh
> +++ b/t/t5702-protocol-v2.sh
> @@ -251,6 +251,17 @@ test_expect_success 'server-options are sent when fetching' '
> grep "server-option=world" log
> '
>
> +test_expect_success 'server-options are sent when cloning' '
> + test_when_finished "rm -rf log myclone" &&
> +
> + GIT_TRACE_PACKET="$(pwd)/log" git -c protocol.version=2 \
> + clone --server-option=hello --server-option=world \
> + "file://$(pwd)/file_parent" myclone &&
> +
> + grep "server-option=hello" log &&
> + grep "server-option=world" log
> +'
Nice. Thanks for including this.
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Thanks for a pleasant read.
next prev parent reply other threads:[~2019-04-06 11:57 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-05 20:44 [PATCH] clone: send server options when using protocol v2 Jonathan Tan
2019-04-06 11:57 ` Jonathan Nieder [this message]
2019-04-08 17:11 ` Jonathan Tan
2019-04-09 15:24 ` Junio C Hamano
2019-04-09 18:49 ` Jonathan Tan
2019-04-09 20:31 ` [PATCH v2 0/2] Server options when cloning Jonathan Tan
2019-04-09 20:31 ` [PATCH v2 1/2] transport: warn if server options are unsupported Jonathan Tan
2019-04-09 20:45 ` Jonathan Nieder
2019-04-10 3:51 ` Junio C Hamano
2019-04-09 20:31 ` [PATCH v2 2/2] clone: send server options when using protocol v2 Jonathan Tan
2019-04-09 20:46 ` Jonathan Nieder
2019-04-11 20:30 ` [PATCH v3 0/2] Server options when cloning Jonathan Tan
2019-04-11 20:30 ` [PATCH v3 1/2] transport: warn if server options are unsupported Jonathan Tan
2019-04-12 5:35 ` Junio C Hamano
2019-04-11 20:30 ` [PATCH v3 2/2] clone: send server options when using protocol v2 Jonathan Tan
2019-04-12 19:51 ` [PATCH v4 0/2] Server options when cloning Jonathan Tan
2019-04-12 19:51 ` [PATCH v4 1/2] transport: die if server options are unsupported Jonathan Tan
2019-04-12 20:12 ` SZEDER Gábor
2019-04-15 4:48 ` Re* " Junio C Hamano
2019-04-15 4:54 ` Junio C Hamano
2019-04-15 9:43 ` SZEDER Gábor
2019-04-12 19:51 ` [PATCH v4 2/2] clone: send server options when using protocol v2 Jonathan Tan
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=20190406115728.GB219876@google.com \
--to=jrnieder@gmail.com \
--cc=git@vger.kernel.org \
--cc=jonathantanmy@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.