]> Cypherpunks repositories - gostls13.git/commitdiff
[release-branch.go1.13] cmd/go/internal/get: remove '--' separator from 'git ls-remot...
authorBryan C. Mills <bcmills@google.com>
Tue, 27 Aug 2019 18:18:48 +0000 (14:18 -0400)
committerBryan C. Mills <bcmills@google.com>
Tue, 27 Aug 2019 21:10:30 +0000 (21:10 +0000)
'git ls-remote' started recognizing the '--' separator at some point
after 2.7.4, but git defaults to version 2.7.4 on Ubuntu 16.04 LTS,
which remains supported by Ubuntu until April 2021.

We added '--' tokens to most VCS commands as a defensive measure in
CL 181237, but it isn't strictly necessary here because the 'scheme'
argument to our template is chosen from a predefined list: we can
safely drop it to retain compatibility.

Cherry-picked from CL 191978.

Updates #33836
Fixes #33880

Change-Id: Ibb53366b95f8029b587e0b7646a439330d759ac7
Reviewed-on: https://go-review.googlesource.com/c/go/+/191973
Run-TryBot: Bryan C. Mills <bcmills@google.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/cmd/go/internal/get/vcs.go

index fca78b515fd8ecb829f00b1edd818ca5e5fca7a7..705bb66dbe2142ce95d9608cc3281478a66f557e 100644 (file)
@@ -164,8 +164,14 @@ var vcsGit = &vcsCmd{
        // See golang.org/issue/9032.
        tagSyncDefault: []string{"submodule update --init --recursive"},
 
-       scheme:     []string{"git", "https", "http", "git+ssh", "ssh"},
-       pingCmd:    "ls-remote -- {scheme}://{repo}",
+       scheme: []string{"git", "https", "http", "git+ssh", "ssh"},
+
+       // Leave out the '--' separator in the ls-remote command: git 2.7.4 does not
+       // support such a separator for that command, and this use should be safe
+       // without it because the {scheme} value comes from the predefined list above.
+       // See golang.org/issue/33836.
+       pingCmd: "ls-remote {scheme}://{repo}",
+
        remoteRepo: gitRemoteRepo,
 }