git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [PATCH 0/8] Resend of GIT_TEST_PROTOCOL_VERSION patches
@ 2019-02-06  0:21 Jonathan Tan
  2019-02-06  0:21 ` [PATCH 1/8] tests: define GIT_TEST_PROTOCOL_VERSION Jonathan Tan
                   ` (8 more replies)
  0 siblings, 9 replies; 27+ messages in thread
From: Jonathan Tan @ 2019-02-06  0:21 UTC (permalink / raw)
  To: git; +Cc: Jonathan Tan, steadmon

This is on the latest master (8feddda32c ("Fifth batch for 2.21",
2019-02-05)) + js/protocol-advertise-multi.

This is a resend of [1], which was built on the result of merging many
branches. Now that most of the branches have been merged to master, I
have rebased it on master. The only branch that I needed to merge was
js/protocol-advertise-multi.

js/protocol-advertise-multi has not been merged to next yet, but the
general idea seems good to me, and I am making review of that patch one
of my priorities. But if anyone is concerned that this set will be
delayed by js/protocol-advertise-multi, I can extract the parts I need
into a patch in this set (most likely just the part that unconditionally
calls ssh with SendEnv in connect.c), although it is difficult to
explain the necessity of that without reference to
js/protocol-advertise-multi. Let me know what you think.

Besides the rebase, this is unchanged from [1]. There is some discussion
there between Ævar, Junio, and I, thinking that it is OK to merge this
even if we didn't eliminate all errors. Right now, only 3 test cases
fail with GIT_TEST_PROTOCOL_VERSION=2.

Patch 1 implements the test variable, patches 2-7 eliminate false
negatives (with explanations), and patch 8 fixes a genuine bug.

[1] https://public-inbox.org/git/cover.1547677183.git.jonathantanmy@google.com/

Jonathan Tan (8):
  tests: define GIT_TEST_PROTOCOL_VERSION
  tests: always test fetch of unreachable with v0
  t5503: fix overspecification of trace expectation
  t5512: compensate for v0 only sending HEAD symrefs
  t5700: only run with protocol version 1
  tests: fix protocol version for overspecifications
  t5552: compensate for v2 filtering ref adv.
  remote-curl: in v2, fill credentials if needed

 protocol.c                           | 17 ++++++++--
 remote-curl.c                        |  9 +++++-
 t/README                             |  3 ++
 t/t5400-send-pack.sh                 |  2 +-
 t/t5500-fetch-pack.sh                |  4 ++-
 t/t5503-tagfollow.sh                 |  2 +-
 t/t5512-ls-remote.sh                 | 18 ++++++++---
 t/t5515-fetch-merge-logic.sh         |  4 +++
 t/t5516-fetch-push.sh                | 22 ++++++++++---
 t/t5539-fetch-http-shallow.sh        |  5 ++-
 t/t5541-http-push-smart.sh           | 14 +++++++--
 t/t5551-http-fetch-smart.sh          | 47 +++++++++++++++++++++-------
 t/t5552-skipping-fetch-negotiator.sh |  5 ++-
 t/t5700-protocol-v1.sh               |  3 ++
 t/t7406-submodule-update.sh          |  5 ++-
 15 files changed, 128 insertions(+), 32 deletions(-)

-- 
2.19.0.271.gfe8321ec05.dirty


^ permalink raw reply	[flat|nested] 27+ messages in thread
* [PATCH 0/8] GIT_TEST_PROTOCOL_VERSION, this time on master
@ 2019-02-25 21:54 Jonathan Tan
  2019-02-25 21:54 ` [PATCH 1/8] tests: define GIT_TEST_PROTOCOL_VERSION Jonathan Tan
  0 siblings, 1 reply; 27+ messages in thread
From: Jonathan Tan @ 2019-02-25 21:54 UTC (permalink / raw)
  To: git; +Cc: Jonathan Tan, peff

There's a version of this in Junio's Git repository as
jt/test-protocol-version, blocked by js/protocol-advertise-multi. After
chatting with Josh (the author of js/protocol-advertise-multi) last
week, it seems that that branch might take a while, so I have decided to
rebase my patches on master.

This necessitates patch 2, which contains additional updates to t5601,
so that all tests pass with GIT_TEST_PROTOCOL_VERSION=1.
(js/protocol-advertise-multi eliminates the need to do that, which is
why these changes did not appear in the previous version.) When
js/protocol-advertise-multi is merged, we can and should revert patch 2.

I have incorporated a small suggestion by Peff [1], and he seems overall
OK with the patch set [2].

I have based my work on the existing contents of
jt/test-protocol-version, so most commits include a "Signed-off-by" line by
Junio. Let me know if you prefer it to be removed.

[1] https://public-inbox.org/git/20190211201959.GA9072@sigill.intra.peff.net/
[2] https://public-inbox.org/git/20190211203827.GA9010@sigill.intra.peff.net/

Here is a range-diff.

1:  7ed58eb98b ! 1:  4dcd898813 tests: define GIT_TEST_PROTOCOL_VERSION
    @@ -8,9 +8,8 @@
         configuration is in place for all repositories.
     
         As of this patch, all tests pass whether GIT_TEST_PROTOCOL_VERSION is
    -    unset, set to 0, or set to 1. Some tests fail when
    -    GIT_TEST_PROTOCOL_VERSION is set to 2, but this will be dealt with in
    -    subsequent patches.
    +    unset or set to 0. Some tests fail when GIT_TEST_PROTOCOL_VERSION is set
    +    to 1 or 2, but this will be dealt with in subsequent patches.
     
         This is based on work by Ævar Arnfjörð Bjarmason.
     
    @@ -39,7 +38,7 @@
     +		retval = version;
     +	}
     +
    -+	if (git_test_v && strlen(git_test_v)) {
    ++	if (git_test_v && *git_test_v) {
     +		enum protocol_version env = parse_protocol_version(git_test_v);
     +
     +		if (env == protocol_unknown_version)
    @@ -52,7 +51,7 @@
     +	return retval;
      }
      
    - void register_allowed_protocol_version(enum protocol_version version)
    + enum protocol_version determine_protocol_version_server(void)
     
      diff --git a/t/README b/t/README
      --- a/t/README
-:  ---------- > 2:  1c865e4ae9 t5601: check ssh command only with protocol v0
2:  1b3c299528 = 3:  227a88aa8c tests: always test fetch of unreachable with v0
3:  526670b1d5 = 4:  8f510c5c78 t5503: fix overspecification of trace expectation
4:  1548be81a5 = 5:  9aaabdac52 t5512: compensate for v0 only sending HEAD symrefs
5:  1da961b33a = 6:  6c29e64bc3 t5700: only run with protocol version 1
6:  3c22aaad5b = 7:  d4638e9418 tests: fix protocol version for overspecifications
7:  188754ca3f = 8:  629a243c7f t5552: compensate for v2 filtering ref adv.

Jonathan Tan (8):
  tests: define GIT_TEST_PROTOCOL_VERSION
  t5601: check ssh command only with protocol v0
  tests: always test fetch of unreachable with v0
  t5503: fix overspecification of trace expectation
  t5512: compensate for v0 only sending HEAD symrefs
  t5700: only run with protocol version 1
  tests: fix protocol version for overspecifications
  t5552: compensate for v2 filtering ref adv.

 protocol.c                           | 17 ++++++++--
 t/README                             |  3 ++
 t/t5400-send-pack.sh                 |  2 +-
 t/t5500-fetch-pack.sh                |  4 ++-
 t/t5503-tagfollow.sh                 |  2 +-
 t/t5512-ls-remote.sh                 | 18 ++++++++---
 t/t5515-fetch-merge-logic.sh         |  4 +++
 t/t5516-fetch-push.sh                | 22 ++++++++++---
 t/t5539-fetch-http-shallow.sh        |  5 ++-
 t/t5541-http-push-smart.sh           | 14 +++++++--
 t/t5551-http-fetch-smart.sh          | 47 +++++++++++++++++++++-------
 t/t5552-skipping-fetch-negotiator.sh |  5 ++-
 t/t5601-clone.sh                     | 16 +++++-----
 t/t5700-protocol-v1.sh               |  3 ++
 t/t7406-submodule-update.sh          |  5 ++-
 15 files changed, 128 insertions(+), 39 deletions(-)

-- 
2.19.0.271.gfe8321ec05.dirty


^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2019-02-25 21:54 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-06  0:21 [PATCH 0/8] Resend of GIT_TEST_PROTOCOL_VERSION patches Jonathan Tan
2019-02-06  0:21 ` [PATCH 1/8] tests: define GIT_TEST_PROTOCOL_VERSION Jonathan Tan
2019-02-06 21:58   ` Ævar Arnfjörð Bjarmason
2019-02-07  0:01     ` Jonathan Tan
2019-02-11 20:20   ` Jeff King
2019-02-06  0:21 ` [PATCH 2/8] tests: always test fetch of unreachable with v0 Jonathan Tan
2019-02-11 20:30   ` Jeff King
2019-02-14 19:58     ` Jonathan Tan
2019-02-21 13:49       ` Jeff King
2019-02-22 20:47         ` Junio C Hamano
2019-02-23 13:25           ` Jeff King
2019-02-06  0:21 ` [PATCH 3/8] t5503: fix overspecification of trace expectation Jonathan Tan
2019-02-06  0:21 ` [PATCH 4/8] t5512: compensate for v0 only sending HEAD symrefs Jonathan Tan
2019-02-06  0:21 ` [PATCH 5/8] t5700: only run with protocol version 1 Jonathan Tan
2019-02-06  0:21 ` [PATCH 6/8] tests: fix protocol version for overspecifications Jonathan Tan
2019-02-06  0:21 ` [PATCH 7/8] t5552: compensate for v2 filtering ref adv Jonathan Tan
2019-02-06  0:21 ` [PATCH 8/8] remote-curl: in v2, fill credentials if needed Jonathan Tan
2019-02-06 21:29   ` Jeff King
2019-02-11 19:20     ` Jonathan Tan
2019-02-11 20:38       ` Jeff King
2019-02-06 21:34 ` [PATCH 0/8] Resend of GIT_TEST_PROTOCOL_VERSION patches Jeff King
2019-02-06 21:52   ` Ævar Arnfjörð Bjarmason
2019-02-06 22:10     ` Jeff King
2019-02-06 22:20       ` Ævar Arnfjörð Bjarmason
2019-02-06 23:08         ` Jeff King
2019-02-07 10:49           ` Ævar Arnfjörð Bjarmason
  -- strict thread matches above, loose matches on Subject: below --
2019-02-25 21:54 [PATCH 0/8] GIT_TEST_PROTOCOL_VERSION, this time on master Jonathan Tan
2019-02-25 21:54 ` [PATCH 1/8] tests: define GIT_TEST_PROTOCOL_VERSION Jonathan Tan

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).