All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Tan <jonathantanmy@google.com>
To: git@vger.kernel.org
Cc: Jonathan Tan <jonathantanmy@google.com>,
	jrnieder@gmail.com, gitster@pobox.com
Subject: [PATCH v2 0/2] Server options when cloning
Date: Tue,  9 Apr 2019 13:31:32 -0700	[thread overview]
Message-ID: <cover.1554841624.git.jonathantanmy@google.com> (raw)
In-Reply-To: <20190405204413.93900-1-jonathantanmy@google.com>

I created v2 by rewriting jt/clone-server-option, so you'll see some
Reviewed-by lines and Signed-off-by lines with another name than mine.

Changes from v1:
 - Broke long line. (DUP->NODUP was already done by Junio in
   jt/clone-server-option, so you don't see it in the range-diff below.)
 - Warn if server-option is specified but not sent to the server (in
   fetch and clone).
 - Document that server's handling of server-option is server-specific.

These patches are on maint, matching jt/clone-server-option, but should
apply cleanly on master too.

Jonathan Tan (2):
  transport: warn if server options are unsupported
  clone: send server options when using protocol v2

 Documentation/fetch-options.txt |  3 ++-
 Documentation/git-clone.txt     |  8 +++++++
 builtin/clone.c                 |  6 ++++++
 t/t5702-protocol-v2.sh          | 38 +++++++++++++++++++++++++++++++++
 transport.c                     |  8 +++++++
 5 files changed, 62 insertions(+), 1 deletion(-)

Range-diff against v1:
-:  ---------- > 1:  af3cc05324 transport: warn if server options are unsupported
1:  90ce94e039 ! 2:  142c25abd2 clone: send server options when using protocol v2
    @@ -11,10 +11,27 @@
         has "-o" for another parameter, teach "clone" only to receive
         "--server-option".
     
    +    Explain in the documentation, both for clone and for fetch, that server
    +    handling of server options are server-specific.
    +
         Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
         Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
         Signed-off-by: Junio C Hamano <gitster@pobox.com>
     
    + diff --git a/Documentation/fetch-options.txt b/Documentation/fetch-options.txt
    + --- a/Documentation/fetch-options.txt
    + +++ b/Documentation/fetch-options.txt
    +@@
    + --server-option=<option>::
    + 	Transmit the given string to the server when communicating using
    + 	protocol version 2.  The given string must not contain a NUL or LF
    +-	character.
    ++	character.  The server's handling of server options, including
    ++	unknown ones, is server-specific.
    + 	When multiple `--server-option=<option>` are given, they are all
    + 	sent to the other side in the order listed on the command line.
    + 
    +
      diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt
      --- a/Documentation/git-clone.txt
      +++ b/Documentation/git-clone.txt
    @@ -25,7 +42,8 @@
     +--server-option=<option>::
     +	Transmit the given string to the server when communicating using
     +	protocol version 2.  The given string must not contain a NUL or LF
    -+	character.
    ++	character.  The server's handling of server options, including
    ++	unknown ones, is server-specific.
     +	When multiple `--server-option=<option>` are given, they are all
     +	sent to the other side in the order listed on the command line.
     +
    @@ -48,8 +66,8 @@
      		   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"),
    -+			N_("option to transmit")),
    ++	OPT_STRING_LIST(0, "server-option", &server_options,
    ++			N_("server-specific"), N_("option to transmit")),
      	OPT_SET_INT('4', "ipv4", &family, N_("use IPv4 addresses only"),
      			TRANSPORT_FAMILY_IPV4),
      	OPT_SET_INT('6', "ipv6", &family, N_("use IPv6 addresses only"),
    @@ -68,7 +86,7 @@
      --- a/t/t5702-protocol-v2.sh
      +++ b/t/t5702-protocol-v2.sh
     @@
    - 	grep "server-option=world" log
    + 	grep "Ignoring server options" err
      '
      
     +test_expect_success 'server-options are sent when cloning' '
    @@ -81,6 +99,16 @@
     +	grep "server-option=hello" log &&
     +	grep "server-option=world" log
     +'
    ++
    ++test_expect_success 'warn if using server-option with clone with legacy protocol' '
    ++	test_when_finished "rm -rf myclone" &&
    ++
    ++	GIT_TEST_PROTOCOL_VERSION=0 git -c protocol.version=0 \
    ++		clone --server-option=hello --server-option=world \
    ++		"file://$(pwd)/file_parent" myclone 2>err &&
    ++
    ++	grep "Ignoring server options" err
    ++'
     +
      test_expect_success 'upload-pack respects config using protocol v2' '
      	git init server &&
-- 
2.21.0.392.gf8f6787159e-goog


  parent reply	other threads:[~2019-04-09 20:31 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
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 ` Jonathan Tan [this message]
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=cover.1554841624.git.jonathantanmy@google.com \
    --to=jonathantanmy@google.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jrnieder@gmail.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.