git@vger.kernel.org list mirror (unofficial, one of many)
 help / color / mirror / code / Atom feed
From: Jeff King <peff@peff.net>
To: Josep Torra <n770galaxy@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: Possible regression in git 2.26.0
Date: Fri, 3 Apr 2020 14:58:04 -0400	[thread overview]
Message-ID: <20200403185804.GA659704@coredump.intra.peff.net> (raw)
In-Reply-To: <CAE0g23A0+4MPwACTsdjk=eOYaGBDEwsD2t_F072Z33Gb6y2qZw@mail.gmail.com>

On Tue, Mar 31, 2020 at 07:13:25PM +0200, Josep Torra wrote:

> Today I'd noticed a failure in some custom automation that seems to
> came as a side effect after of a git client update.
> 
> The issue issue I'd spotted is the following:
> 
> $ git clone git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/bionic
> linux/bionic
> Cloning into 'linux/bionic'...
> fatal: remote error: Parameters must have values

I can reproduce here, and it's definitely related to using protocol v2.
Running:

  GIT_TRACE_PACKET=1 git -c protocol.version=2 ls-remote \
    git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/bionic \
    >/dev/null

yields:

  [...]git> git-upload-pack ~ubuntu-kernel/ubuntu/+source/linux/+git/bionic\0host=git.launchpad.net\0\0version=2\0
  [...]git< ERR Parameters must have values

So it's complaining at that initial contact probing for v2. The behavior
is the same with v1 (which was an interim step between v0 and v1 to do
this probing and check for compatibility).

We checked that the probe works sensibly against old versions of Git, as
well as a few others (JGit, and I can't remember the rest).

Do you know what software powers git.launchpad.net? That "Parameters
must have values" message has never appeared in any Git version, though
the server claims to be v2.17.1:

  $ GIT_TRACE_PACKET=1 git -c protocol.version=0 ls-remote \
     git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/bionic \
     2>&1 >/dev/null | grep agent=
  [...]git< a78d21bd8bb58c158f73108eb7d7402619fcae3d HEAD\0multi_ack thin-pack side-band side-band-64k ofs-delta shallow deepen-since deepen-not deepen-relative no-progress include-tag multi_ack_detailed symref=HEAD:refs/heads/master agent=git/2.17.1

My guess is that it may be v2.17.1 with some kind of load-balancing or
proxy layer in it. It's rather unfortunate that nobody noticed the
problem during the year and a half testing phase. But at this point, I
think the best path forward is probably to try to fix that server side
(preferably to speak v2, but if not, to at least ignore the v2 probe
marker and continue to speak v0; the client will gracefully handle
that).

By the way, swapping out git:// for https:// in the URL works just fine
for this server. In git-over-http, the v2 probe goes in an HTTP request
header, and they seem to ignore that and speak v0 (which is an expected
and fine outcome for pre-v2-aware servers). That may be why nobody
noticed before.

-Peff

  parent reply	other threads:[~2020-04-03 18:58 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-31 17:13 Josep Torra
2020-03-31 17:22 ` Konstantin Ryabitsev
2020-04-10 21:00   ` Jeff King
2020-04-03 18:58 ` Jeff King [this message]
2020-04-03 19:36   ` Jeff King
2020-04-03 19:53     ` Junio C Hamano
2020-04-04 15:20       ` Jeff King
2020-04-07 14:52         ` Jeff King

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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200403185804.GA659704@coredump.intra.peff.net \
    --to=peff@peff.net \
    --cc=git@vger.kernel.org \
    --cc=n770galaxy@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.
Code repositories for project(s) associated with this 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).