Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doc/install: define minimum supported VCS versions #26746

Open
bcmills opened this issue Aug 1, 2018 · 27 comments
Open

doc/install: define minimum supported VCS versions #26746

bcmills opened this issue Aug 1, 2018 · 27 comments

Comments

@bcmills
Copy link
Contributor

bcmills commented Aug 1, 2018

cmd/go shells out to version control binaries to implement go get.

doc/install currently declares minimum supported OS versions for FreeBSD, macOS, and Windows, but only a minimum kernel version for Linux. Those requirements do not imply any particular version of the supported version control binaries, and those versions do matter in practice: in particular, git accrued a large number of flags in between 2.7 and 2.18 (#26653).

We should be explicit about which versions are supported for use with the go command.

(CC: @rsc @ianlancetaylor @bradfitz @myitcv @rogpeppe @trashhalo)

@bcmills bcmills added this to the Go1.12 milestone Aug 1, 2018
@bcmills bcmills added the NeedsDecision Feedback is required from experts, contributors, and/or the community before a change can be made. label Aug 2, 2018
@bcmills
Copy link
Contributor Author

bcmills commented Aug 2, 2018

Marking NeedsDecision to determine:

  • whether we want to specify versions, and
  • if so, what criteria to use to determine them.

@mostynb
Copy link
Contributor

mostynb commented Aug 4, 2018

Maybe it would be sufficient to say "git version X or later is known to work" (taken from the oldest git version commonly used in tests), instead of figuring out and keeping track of the oldest suitable version?

@bradfitz
Copy link
Contributor

bradfitz commented Aug 9, 2018

I would really hope that we work with whatever's in Debian Stable at least, which is currently 2.11.0: https://packages.debian.org/stretch/git

@rsc
Copy link
Contributor

rsc commented Aug 10, 2018

Re @mostynb's point it's fine to say we need 2.5 even if 2.4 appears to work too.

I also agree with Brad that essentially every git that's on a supported OS by default needs to work. That's been our practice to date.

@bcmills
Copy link
Contributor Author

bcmills commented Aug 10, 2018

essentially every git that's on a supported OS by default needs to work.

I think we all agree with that, but what does “supported OS” mean in this context?

Our current definition for Go on Linux, according to the install page, is just a kernel version and a specific exclusion for CentOS/RHEL 5.x. That doesn't tell us which distros (and which versions of which distros) we should use to determine “every git that's on a supported OS”.

To pick some examples:

  • Debian 8 “Jessie” is in its LTS phase. It shipped with Git 2.1.4, but has a backport of 2.11.0 available. Does that mean we need to support 2.1.4, or just 2.11.0?
    • Debian “Jessie” shipped with Go 1.3.
  • Ubuntu still supports Ubuntu 14.04 LTS, which shipped with Git 1.9.1. Does that mean we need to support Git 1.9.1?
    • From what I can tell, Ubuntu 14.04 LTS is ~9 Ubuntu releases ago. It shipped with Go 1.2, with a backport to Go 1.3.
  • Slackware 14.0 has not been EOL'd yet, and it shipped with kernel 3.2.29 and Git 1.7.12. Does that mean that we need to support Git 1.7.12?

@bcmills
Copy link
Contributor Author

bcmills commented Aug 10, 2018

The table at https://en.wikipedia.org/wiki/Git#Release says that Git 2.12 and older are themselves no longer maintained. (However, I'm having trouble finding any supporting documentation in the Git release notes or mailing list.)

@ianlancetaylor
Copy link
Contributor

I suppose we could always vendor something like https://github.com/src-d/go-git . Not that I'm seriously suggesting that.

When it comes to GNU/Linux distros, I suggest that we can plausibly take CentOS as the trailing edge. CentOS is specifically adopted by people who want long term stability and who don't want to hack on their systems. We have decided that CentOS 5 is too old, so let's take CentOS 6 as the oldest version we want to support. CentOS 6 comes with git 1.7.1. I have no idea what is involved here: can we support git 1.7.1 and later without unreasonable effort?

@bradfitz
Copy link
Contributor

I suppose we could always vendor something like https://github.com/src-d/go-git . Not that I'm seriously suggesting that.

It's probably inevitable that we go that route at some point. Maybe we should've from the beginning, in retrospect.

If CentOS is an OS that people deploy to but don't develop on, perhaps we don't need to care about its git version, assuming they just get their packaged binaries via Docker or scp or whatever.

But then one could make the same (incorrect?) assumption for Debian Jessie and Ubuntu 14.04 LTS, that people are more likely to deploy there than hack there themselves. But I just don't know if that's true.

I wish we had an opt-in mechanism like Debian's popcon (https://popcon.debian.org/) to let us collect statistics from Go users on their OS/versions/tool versions.

@mostynb
Copy link
Contributor

mostynb commented Aug 10, 2018

GitHub suggests using 1.7.10 in their help[*]:
"There's no minimum Git version necessary to interact with GitHub, but we've found version 1.7.10 to be a comfortable stable version that's available on many platforms."

[*] https://help.github.com/articles/https-cloning-errors/

If a particular minimum tested git version is selected, perhaps it could be tested on a bot without distribution-specific git packages installed? That way the test would not be tied to a specific distribution, and any git version requirement changes would at least need to be made consciously from that point onward.

I wish we had an opt-in mechanism like Debian's popcon (https://popcon.debian.org/) to let us collect statistics from Go users on their OS/versions/tool versions.

Sounds like an interesting side project, but would require some thought to avoid privacy/GDPR/etc issues.

@rsc
Copy link
Contributor

rsc commented Aug 13, 2018

FWIW I don't think vendoring go-git is a good idea at all and I don't think it's inevitable we end up there. We should use the same VCS tools our users are, not ship our own slightly different tools with different bugs. Back before we started invoking git again we had a whole bunch of "git works why doesn't your tool?" kinds of bugs. I like that those are by definition gone.

Maybe this thread is not really focused on the right thing. Maybe we should define which Linux distros we support and then it's implied which git versions we need to support. (And someone could figure out the exact implication.)

Brad suggests:

  • latest Ubuntu
  • latest Debian stable
  • latest RedHat Fedora
  • oldest Ubuntu LTS still supported by Ubuntu

Anything else?

@ianlancetaylor
Copy link
Contributor

CentOS, as mentioned above. We have already chosen to not support CentOS 5, because the kernel is too old. What about CentOS 6? (It's clear from the number of bug reports we get about CentOS 5 that people who use CentOS do care about Go.)

@bradfitz
Copy link
Contributor

@ianlancetaylor, do you have any sense for whether people develop on CentOS vs just deploying to CentOS?

If we only care that resulting binaries work well on CentOS 6, that's easier than making sure "go get" and friends work with old git versions.

@ianlancetaylor
Copy link
Contributor

@bradfitz Yeah, I forgot about that question. I don't know.

@myitcv
Copy link
Member

myitcv commented Aug 14, 2018

Maybe we should define which Linux distros we support and then it's implied which git versions we need to support.

This feels like the most practical thing to do, not least because we can use a number of Docker/other images as test rigs, e.g. #26988 (comment).

oldest Ubuntu LTS still supported by Ubuntu

I think this covers Travis and CircleCI. Put another way, I think it's worth making sure we have coverage of the major (to be defined) CI systems out there to ensure they are covered, and add their images/base images to the list if not.

@thepudds
Copy link
Contributor

Even if there was to be a list of Linux distros enumerated, it seems there would still be a need to pick a minimum supported git version to handle Windows, Macs, etc.?

It seems picking a git version would be more direct than picking a list of distros, including given the most immediate triggering event here seems to variability in git behavior across old versions.

For a developer who is "stuck" with an older environment for whatever reason, it is probably easier to upgrade git than to switch distros or upgrade their OS, which means having the restriction based on git might be friendlier to Go users.

That said, perhaps the conclusion ends up being both a git version and a list of distros get selected?

If there is a list of Linux distros enumerated, I would hope it would be made extremely clear that it is not a contraction of where Go code can run once compiled but rather a contraction of where the Go tooling is supported.

In terms of CentOS, I've definitely seen a common pattern of RHEL for production with CentOS for dev/QA (because very close to RHEL).

However things are end up being characterized in terms of what is officially supported, a related question would be whether or not anything is validated, and if so, whether a failing result is a warning vs. error vs. ___.

@rsc rsc modified the milestones: Go1.12, Go1.13 Nov 14, 2018
@rsc rsc changed the title doc/install: define minimum supported VCS versions proposal: doc/install: define minimum supported VCS versions Nov 14, 2018
@rsc rsc removed the NeedsDecision Feedback is required from experts, contributors, and/or the community before a change can be made. label Nov 14, 2018
@andybons
Copy link
Member

andybons commented Dec 5, 2018

@bcmills can you describe what sorts of things break when using an older version of a VCS tool?

Also would the go tool enforce or otherwise check the version and give a helpful error message?

@bcmills
Copy link
Contributor Author

bcmills commented Dec 6, 2018

can you describe what sorts of things break when using an older version of a VCS tool?

The typical failure mode is that we add some flag (e.g. to disable one of the many ways that user settings can leak in to the behavior of git archive) and it turns out that the flag isn't present in some older version still in use. Then that whole command fails, or (less frequently) git ignores the flag and our fix is ineffective on that version.

Also would the go tool enforce or otherwise check the version and give a helpful error message?

If we know some version that we definitely don't support, we could emit a helpful error.
If we know what version we do support, then perhaps we could emit a helpful message only if the command fails (analogous to the behavior for #28221).

@rsc
Copy link
Contributor

rsc commented Dec 12, 2018

As far as proposal process, everyone seems to agree we should do this - define which VCS we support. The exact details can be worked out as a regular issue. (See also #26746 (comment) above.)

I have no idea if we use - from the go command - git options added since Git 1.7.1. One option is to say that CentOS 6 can be a deploy target but not a development target (at least for 'go get').

Can someone find out whether 'go test cmd/go/...' succeeds on CentOS 6 with git installed?
(If there's no git at all, the tests will be skipped entirely.)

@bcmills
Copy link
Contributor Author

bcmills commented Dec 12, 2018

Can someone find out whether 'go test cmd/go/...' succeeds on CentOS 6 with git installed?

I'll take a look.

@bcmills
Copy link
Contributor Author

bcmills commented Dec 12, 2018

I spun up a CentOS 6 image and installed git and gcc at the default versions using yum install, then installed go1.11.2 from the pre-packaged binaries on golang.org and ran go test cmd/go/....

There were many failures, mostly related to Git commands.

I'm doing to try from HEAD next; I expect about the same number of failures but perhaps more-useful error messages.

[bcmills@dev-bcmills-centos6 src]$ go test cmd/go/...
--- FAIL: TestGoGetInsecure (37.11s)
    --- FAIL: TestGoGetInsecure/modules (20.33s)
        go_test.go:3556: running testgo [get -d insecure.go-get-issue-15410.appspot.com/pkg/p]
        go_test.go:3556: standard error:
        go_test.go:3556: go get insecure.go-get-issue-15410.appspot.com/pkg/p: unrecognized import path "insecure.go-get-issue-15410.appspot.com/pkg/p" (https fetch: Get https://insecure.go-get-issue-15410.appspot.com/pkg/p?go-get=1: x509: certificate is valid for *.appspot-preview.com, *.a.run.app, *.appspot.com, *.thinkwithgoogle.com, *.withgoogle.com, *.withyoutube.com, appspot-preview.com, appspot.com, run.app, thinkwithgoogle.com, withgoogle.com, withyoutube.com, not insecure.go-get-issue-15410.appspot.com)
            
        go_test.go:3556: testgo failed as expected: exit status 1
        go_test.go:3559: running testgo [get -d -insecure insecure.go-get-issue-15410.appspot.com/pkg/p]
        go_test.go:3559: standard error:
        go_test.go:3559: go get insecure.go-get-issue-15410.appspot.com/pkg/p: git ls-remote -q origin in /tmp/gotest514569774/gp/pkg/mod/cache/vcs/30ec4a2adabe78ecc6f3c9bfbb4a4d91efc4ca010ea5fdeaedf1c15c6db4e347: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
            
        go_test.go:3559: go [get -d -insecure insecure.go-get-issue-15410.appspot.com/pkg/p] failed unexpectedly in /tmp/gotest514569774: exit status 1
        asm_amd64.s:522: ended in /tmp/gotest514569774
--- FAIL: TestGoGetUpdateUnknownProtocol (0.62s)
    go_test.go:3625: git config: exit status 129
        error: unknown option `local'
        usage: git config [options]
        
        Config file location
            --global              use global config file
            --system              use system config file
            -f, --file <FILE>     use given config file
        
        Action
            --get                 get value: name [value-regex]
            --get-all             get all values: key [value-regex]
            --get-regexp          get values for regexp: name-regex [value-regex]
            --replace-all         replace all matching variables: name value [value_regex]
            --add                 adds a new variable: name value
            --unset               removes a variable: name [value-regex]
            --unset-all           removes all matches: name [value-regex]
            --rename-section      rename section: old-name new-name
            --remove-section      remove a section: name
            -l, --list            list all
            -e, --edit            opens an editor
            --get-color <slot>    find the color configured: [default]
            --get-colorbool <slot>
                                  find the color setting: [stdout-is-tty]
        
        Type
            --bool                value is "true" or "false"
            --int                 value is decimal number
            --bool-or-int         value is --bool or --int
            --path                value is a path (file or directory name)
        
        Other
            -z, --null            terminate values with NUL byte
        
go test proxy starting
go test proxy running at GOPROXY=http://127.0.0.1:37580/mod
go proxy: no archive w.1 v1.2.0
go proxy: no archive x.1 v1.0.0
go proxy: no archive z.1 v1.2.0
go proxy: no archive rsc.io v1.5.0
go proxy: no archive example.com/unused v0.0.0
go proxy: no archive example.com/unused v0.0.0
go proxy: no archive sub.1 v1.0.0
go proxy: no archive badsub.1 v1.0.0
go proxy: no archive versioned.1 v1.0.0
go proxy: no archive versioned.1 v1.1.0
go proxy: no archive example.com/split/subpkg v1.0.0
go proxy: no archive golang.org/x/text/language 14c0d48
go proxy: no archive golang.org/x/text/language 14c0d48
go proxy: no archive golang.org/x/text/language 14c0d48
go proxy: no archive golang.org/x/text/foo 14c0d48
go proxy: no archive golang.org/x 14c0d48
go proxy: no archive golang.org 14c0d48
--- FAIL: TestScript (0.00s)
    --- FAIL: TestScript/mod_init_dep (0.17s)
        script_test.go:151: 
            # modconv uses git directly to examine what old 'go get' would (0.000s)
            # go build should populate go.mod from Gopkg.lock (0.171s)
            > cp go.mod1 go.mod
            > go build
            [stderr]
            go: copying requirements from Gopkg.lock
            go: converting Gopkg.lock: stat rsc.io/sampler@v1.0.0: unknown revision v1.0.0
            > stderr 'copying requirements from Gopkg.lock'
            > go list -m all
            [stdout]
            x
            > ! stderr 'copying requirements from Gopkg.lock'
            > stdout 'rsc.io/sampler v1.0.0'
            FAIL: testdata/script/mod_init_dep.txt:13: no match for `rsc.io/sampler v1.0.0` found in stdout
            
    --- FAIL: TestScript/mod_gopkg_unstable (0.53s)
        script_test.go:151: 
            > env GO111MODULE=on
            > cp go.mod.empty go.mod
            > go get -d gopkg.in/dummy.v2-unstable
            [stderr]
            go: finding gopkg.in/dummy.v2-unstable v2.0.0
            go: downloading gopkg.in/dummy.v2-unstable v2.0.0
            > cp x.go.txt x.go
            > cp go.mod.empty go.mod
            > go list
            [stdout]
            m
            > [!net] skip
            > env GOPROXY=
            > go get gopkg.in/macaroon-bakery.v2-unstable/bakery
            [stderr]
            go: finding gopkg.in/macaroon-bakery.v2-unstable latest
            go get gopkg.in/macaroon-bakery.v2-unstable/bakery: invalid module path "gopkg.in/macaroon-bakery.v2-unstable/bakery"
            [exit status 1]
            FAIL: testdata/script/mod_gopkg_unstable.txt:13: unexpected command failure
            
    --- FAIL: TestScript/mod_git_export_subst (0.24s)
        script_test.go:151: 
            # Testing that git export-subst is disabled (0.237s)
            > [!net] skip
            > [!exec:git] skip
            > go build
            [stderr]
            go: finding github.com/jasonkeene/export-subst v0.0.0-20180927204031-5845945ec626
            go: github.com/jasonkeene/export-subst@v0.0.0-20180927204031-5845945ec626: unknown revision 5845945ec626
            go: error loading module requirements
            [exit status 1]
            FAIL: testdata/script/mod_git_export_subst.txt:7: unexpected command failure
            
    --- FAIL: TestScript/mod_get_pseudo (0.02s)
        script_test.go:151: 
            # Testing git->module converter's generation of +incompatible tags; turn off proxy. (0.000s)
            # We can resolve the @master branch without unshallowing the local repository
            # (even with older gits), so try that before we do anything else.
            # (This replicates https://golang.org/issue/26713 with git 2.7.4.) (0.020s)
            > go get -m github.com/rsc/legacytest@master
            [stderr]
            go: finding github.com/rsc/legacytest master
            go get github.com/rsc/legacytest@master: unknown revision master
            [exit status 1]
            FAIL: testdata/script/mod_get_pseudo.txt:11: unexpected command failure
            
--- FAIL: TestMoveGit (1.41s)
    go_test.go:1079: running testgo [get -d rsc.io/pdf]
    go_test.go:1080: running testgo [get -d -u rsc.io/pdf]
    go_test.go:1102: running testgo [build -o sink sink]
    go_test.go:1105: running testgo [get -d -u rsc.io/pdf]
    go_test.go:1105: standard error:
    go_test.go:1105: package rsc.io/pdf: rsc.io/pdf is a custom import path for https://github.com/rsc/pdf, but /tmp/gotest875748257/src/rsc.io/pdf is checked out from https://github.com/rsc/pdfXXX
        
    go_test.go:1105: testgo failed as expected: exit status 1
    go_test.go:1107: running testgo [get -d -f -u rsc.io/pdf]
    go_test.go:1107: standard error:
    go_test.go:1107: # cd /tmp/gotest875748257/src/rsc.io/pdf; git pull --ff-only
        error: The requested URL returned error: 403 Forbidden while accessing https://github.com/rsc/pdfXXX/info/refs
        
        fatal: HTTP request failed
        package rsc.io/pdf: exit status 1
        
    go_test.go:1107: testgo failed as expected: exit status 1
    go_test.go:1108: go get -d -f -u rsc.io/pdf failed for wrong reason
    go_test.go:1108: pattern validating server certificate|[nN]ot [fF]ound not found in standard error
--- FAIL: TestAccidentalGitCheckout (0.55s)
    go_test.go:1308: running testgo [get -u vcs-test.golang.org/go/test1-svn-git]
    go_test.go:1308: standard error:
    go_test.go:1308: go: missing Subversion command. See https://golang.org/s/gogetcmd
        package vcs-test.golang.org/go/test1-svn-git: exec: "svn": executable file not found in $PATH
        
    go_test.go:1308: testgo failed as expected: exit status 1
    go_test.go:1309: get did not fail for right reason
    go_test.go:1309: pattern src[\\/]vcs-test.* uses git, but parent .*src[\\/]vcs-test.* uses svn not found in standard error
--- FAIL: TestMoveHG (0.54s)
    go_test.go:1079: running testgo [get -d vcs-test.golang.org/go/custom-hg-hello]
    go_test.go:1079: standard error:
    go_test.go:1079: go: missing Mercurial command. See https://golang.org/s/gogetcmd
        package vcs-test.golang.org/go/custom-hg-hello: exec: "hg": executable file not found in $PATH
        
    go_test.go:1079: go [get -d vcs-test.golang.org/go/custom-hg-hello] failed unexpectedly in /home/bcmills/go/src/cmd/go: exit status 1
FAIL
FAIL    cmd/go  490.788s
?       cmd/go/internal/base    [no test files]
?       cmd/go/internal/bug     [no test files]
ok      cmd/go/internal/cache   (cached)
?       cmd/go/internal/cfg     [no test files]
?       cmd/go/internal/clean   [no test files]
?       cmd/go/internal/cmdflag [no test files]
ok      cmd/go/internal/dirhash (cached)
?       cmd/go/internal/doc     [no test files]
?       cmd/go/internal/envcmd  [no test files]
?       cmd/go/internal/fix     [no test files]
?       cmd/go/internal/fmtcmd  [no test files]
ok      cmd/go/internal/generate        0.012s
ok      cmd/go/internal/get     2.082s
?       cmd/go/internal/help    [no test files]
ok      cmd/go/internal/imports (cached)
?       cmd/go/internal/list    [no test files]
ok      cmd/go/internal/load    (cached)
?       cmd/go/internal/modcmd  [no test files]
go: downloading github.com/docker/distribution v0.0.0-20150410205453-85de3967aa93
go: downloading github.com/fishy/gcsbucket v0.0.0-20150410205453-618d60fe84e0
--- FAIL: TestConvertLegacyConfig (1.88s)
    --- FAIL: TestConvertLegacyConfig/github.com_docker_distribution_v0.0.0-20150410205453-85de3967aa93 (1.61s)
        convert_test.go:161: reading github.com/docker/distribution/go.mod at revision 85de3967aa93: unknown revision 85de3967aa93
    --- FAIL: TestConvertLegacyConfig/github.com_fishy_gcsbucket_v0.0.0-20150410205453-618d60fe84e0 (0.27s)
        convert_test.go:161: reading github.com/fishy/gcsbucket/go.mod at revision 618d60fe84e0: unknown revision 618d60fe84e0
FAIL
FAIL    cmd/go/internal/modconv 1.908s
go: finding github.com/rsc/vgotest1 v0.0.0
go: missing Mercurial command. See https://golang.org/s/gogetcmd
go: missing Mercurial command. See https://golang.org/s/gogetcmd
go: finding github.com/rsc/vgotest1 v1.0.0
go: finding github.com/rsc/vgotest1/v2 v2.0.0
go: missing Mercurial command. See https://golang.org/s/gogetcmd
go: missing Mercurial command. See https://golang.org/s/gogetcmd
go: finding github.com/rsc/vgotest1 80d85c5
go: finding github.com/rsc/vgotest1 mytag
go: finding github.com/rsc/vgotest1/v2 45f53230a
go: finding github.com/rsc/vgotest1/v54321 80d85c5
go: missing Mercurial command. See https://golang.org/s/gogetcmd
go: missing Mercurial command. See https://golang.org/s/gogetcmd
go: finding github.com/rsc/vgotest1/submod v1.0.0
go: missing Mercurial command. See https://golang.org/s/gogetcmd
go: missing Mercurial command. See https://golang.org/s/gogetcmd
go: finding github.com/rsc/vgotest1/submod v1.0.3
go: finding github.com/rsc/vgotest1/submod v1.0.4
go: finding github.com/rsc/vgotest1 v1.1.0
go: finding github.com/rsc/vgotest1/v2 v2.0.1
go: finding github.com/rsc/vgotest1/v2 v2.0.3
go: finding github.com/rsc/vgotest1/v2 v2.0.4
go: finding github.com/rsc/vgotest1/v2 v2.0.5
go: finding rsc.io/quote v1.0.0
go: finding swtch.com/testmod v1.0.0
go: finding golang.org/x/text 4e4a3210bb
go: finding github.com/pkg/errors v0.8.0
go: finding github.com/rsc/quote/buggy c4d4236f
go: finding gopkg.in/yaml.v2 d670f940
go: finding gopkg.in/check.v1 20d25e280405
go: finding gopkg.in/yaml.v2 v2
go: finding vcs-test.golang.org/go/mod/gitrepo1 master
go: finding gopkg.in/natefinch/lumberjack.v2 latest
go: finding gopkg.in/natefinch/lumberjack.v2 v2.1
--- FAIL: TestCodeRepo (5.97s)
    --- FAIL: TestCodeRepo/github.com_rsc_vgotest1/v0.0.0 (0.01s)
        coderepo_test.go:362: repo.Stat("v0.0.0"): unknown revision v0.0.0
    --- FAIL: TestCodeRepo/vcs-test.golang.org_hg_vgotest1.hg/v0.0.0 (0.00s)
        coderepo_test.go:346: Lookup("vcs-test.golang.org/hg/vgotest1.hg"): hg clone -U https://vcs-test.golang.org/hg/vgotest1 . in /tmp/gitrepo-test-521225448/7964b9b40619d926a79132a20d134e995883a6629c60b8abfca3dc770e942ebe: exec: "hg": executable file not found in $PATH
    --- FAIL: TestCodeRepo/github.com_rsc_vgotest1/v1.0.0 (0.00s)
        coderepo_test.go:362: repo.Stat("v1.0.0"): unknown revision v1.0.0
    --- FAIL: TestCodeRepo/vcs-test.golang.org_hg_vgotest1.hg/v1.0.0 (0.00s)
        coderepo_test.go:346: Lookup("vcs-test.golang.org/hg/vgotest1.hg"): hg clone -U https://vcs-test.golang.org/hg/vgotest1 . in /tmp/gitrepo-test-521225448/7964b9b40619d926a79132a20d134e995883a6629c60b8abfca3dc770e942ebe: exec: "hg": executable file not found in $PATH
    --- FAIL: TestCodeRepo/github.com_rsc_vgotest1_v2/v2.0.0 (0.00s)
        coderepo_test.go:362: repo.Stat("v2.0.0"): unknown revision v2.0.0
    --- FAIL: TestCodeRepo/vcs-test.golang.org_hg_vgotest1.hg_v2/v2.0.0 (0.00s)
        coderepo_test.go:346: Lookup("vcs-test.golang.org/hg/vgotest1.hg/v2"): hg clone -U https://vcs-test.golang.org/hg/vgotest1 . in /tmp/gitrepo-test-521225448/7964b9b40619d926a79132a20d134e995883a6629c60b8abfca3dc770e942ebe: exec: "hg": executable file not found in $PATH
    --- FAIL: TestCodeRepo/github.com_rsc_vgotest1/80d85c5 (0.28s)
        coderepo_test.go:362: repo.Stat("80d85c5"): unknown revision 80d85c5
    --- FAIL: TestCodeRepo/vcs-test.golang.org_hg_vgotest1.hg/e125018 (0.00s)
        coderepo_test.go:346: Lookup("vcs-test.golang.org/hg/vgotest1.hg"): hg clone -U https://vcs-test.golang.org/hg/vgotest1 . in /tmp/gitrepo-test-521225448/7964b9b40619d926a79132a20d134e995883a6629c60b8abfca3dc770e942ebe: exec: "hg": executable file not found in $PATH
    --- FAIL: TestCodeRepo/github.com_rsc_vgotest1/mytag (0.00s)
        coderepo_test.go:362: repo.Stat("mytag"): unknown revision mytag
    --- FAIL: TestCodeRepo/vcs-test.golang.org_hg_vgotest1.hg/mytag (0.00s)
        coderepo_test.go:346: Lookup("vcs-test.golang.org/hg/vgotest1.hg"): hg clone -U https://vcs-test.golang.org/hg/vgotest1 . in /tmp/gitrepo-test-521225448/7964b9b40619d926a79132a20d134e995883a6629c60b8abfca3dc770e942ebe: exec: "hg": executable file not found in $PATH
    --- FAIL: TestCodeRepo/github.com_rsc_vgotest1_v2/45f53230a (0.00s)
        coderepo_test.go:362: repo.Stat("45f53230a"): unknown revision 45f53230a
    --- FAIL: TestCodeRepo/vcs-test.golang.org_hg_vgotest1.hg_v2/814fce58e (0.00s)
        coderepo_test.go:346: Lookup("vcs-test.golang.org/hg/vgotest1.hg/v2"): hg clone -U https://vcs-test.golang.org/hg/vgotest1 . in /tmp/gitrepo-test-521225448/7964b9b40619d926a79132a20d134e995883a6629c60b8abfca3dc770e942ebe: exec: "hg": executable file not found in $PATH
    --- FAIL: TestCodeRepo/github.com_rsc_vgotest1_v54321/80d85c5 (0.00s)
        coderepo_test.go:362: repo.Stat("80d85c5"): unknown revision 80d85c5
    --- FAIL: TestCodeRepo/vcs-test.golang.org_hg_vgotest1.hg_v54321/e125018 (0.00s)
        coderepo_test.go:346: Lookup("vcs-test.golang.org/hg/vgotest1.hg/v54321"): hg clone -U https://vcs-test.golang.org/hg/vgotest1 . in /tmp/gitrepo-test-521225448/7964b9b40619d926a79132a20d134e995883a6629c60b8abfca3dc770e942ebe: exec: "hg": executable file not found in $PATH
    --- FAIL: TestCodeRepo/vcs-test.golang.org_hg_vgotest1.hg_submod/v1.0.0 (0.00s)
        coderepo_test.go:346: Lookup("vcs-test.golang.org/hg/vgotest1.hg/submod"): hg clone -U https://vcs-test.golang.org/hg/vgotest1 . in /tmp/gitrepo-test-521225448/7964b9b40619d926a79132a20d134e995883a6629c60b8abfca3dc770e942ebe: exec: "hg": executable file not found in $PATH
    --- FAIL: TestCodeRepo/vcs-test.golang.org_hg_vgotest1.hg_submod/v1.0.3 (0.00s)
        coderepo_test.go:346: Lookup("vcs-test.golang.org/hg/vgotest1.hg/submod"): hg clone -U https://vcs-test.golang.org/hg/vgotest1 . in /tmp/gitrepo-test-521225448/7964b9b40619d926a79132a20d134e995883a6629c60b8abfca3dc770e942ebe: exec: "hg": executable file not found in $PATH
    --- FAIL: TestCodeRepo/github.com_rsc_vgotest1_submod/v1.0.4 (0.00s)
        coderepo_test.go:362: repo.Stat("v1.0.4"): unknown revision submod/v1.0.4
    --- FAIL: TestCodeRepo/vcs-test.golang.org_hg_vgotest1.hg_submod/v1.0.4 (0.00s)
        coderepo_test.go:346: Lookup("vcs-test.golang.org/hg/vgotest1.hg/submod"): hg clone -U https://vcs-test.golang.org/hg/vgotest1 . in /tmp/gitrepo-test-521225448/7964b9b40619d926a79132a20d134e995883a6629c60b8abfca3dc770e942ebe: exec: "hg": executable file not found in $PATH
    --- FAIL: TestCodeRepo/github.com_rsc_vgotest1/v1.1.0 (0.00s)
        coderepo_test.go:362: repo.Stat("v1.1.0"): unknown revision v1.1.0
    --- FAIL: TestCodeRepo/vcs-test.golang.org_hg_vgotest1.hg/v1.1.0 (0.00s)
        coderepo_test.go:346: Lookup("vcs-test.golang.org/hg/vgotest1.hg"): hg clone -U https://vcs-test.golang.org/hg/vgotest1 . in /tmp/gitrepo-test-521225448/7964b9b40619d926a79132a20d134e995883a6629c60b8abfca3dc770e942ebe: exec: "hg": executable file not found in $PATH
    --- FAIL: TestCodeRepo/github.com_rsc_vgotest1_v2/v2.0.1 (0.00s)
        coderepo_test.go:362: repo.Stat("v2.0.1"): unknown revision v2.0.1
    --- FAIL: TestCodeRepo/vcs-test.golang.org_hg_vgotest1.hg_v2/v2.0.1 (0.00s)
        coderepo_test.go:346: Lookup("vcs-test.golang.org/hg/vgotest1.hg/v2"): hg clone -U https://vcs-test.golang.org/hg/vgotest1 . in /tmp/gitrepo-test-521225448/7964b9b40619d926a79132a20d134e995883a6629c60b8abfca3dc770e942ebe: exec: "hg": executable file not found in $PATH
    --- FAIL: TestCodeRepo/github.com_rsc_vgotest1_v2/v2.0.3 (0.00s)
        coderepo_test.go:362: repo.Stat("v2.0.3"): unknown revision v2.0.3
    --- FAIL: TestCodeRepo/vcs-test.golang.org_hg_vgotest1.hg_v2/v2.0.3 (0.00s)
        coderepo_test.go:346: Lookup("vcs-test.golang.org/hg/vgotest1.hg/v2"): hg clone -U https://vcs-test.golang.org/hg/vgotest1 . in /tmp/gitrepo-test-521225448/7964b9b40619d926a79132a20d134e995883a6629c60b8abfca3dc770e942ebe: exec: "hg": executable file not found in $PATH
    --- FAIL: TestCodeRepo/github.com_rsc_vgotest1_v2/v2.0.4 (0.00s)
        coderepo_test.go:362: repo.Stat("v2.0.4"): unknown revision v2.0.4
    --- FAIL: TestCodeRepo/vcs-test.golang.org_hg_vgotest1.hg_v2/v2.0.4 (0.00s)
        coderepo_test.go:346: Lookup("vcs-test.golang.org/hg/vgotest1.hg/v2"): hg clone -U https://vcs-test.golang.org/hg/vgotest1 . in /tmp/gitrepo-test-521225448/7964b9b40619d926a79132a20d134e995883a6629c60b8abfca3dc770e942ebe: exec: "hg": executable file not found in $PATH
    --- FAIL: TestCodeRepo/github.com_rsc_vgotest1_v2/v2.0.5 (0.00s)
        coderepo_test.go:362: repo.Stat("v2.0.5"): unknown revision v2.0.5
    --- FAIL: TestCodeRepo/vcs-test.golang.org_hg_vgotest1.hg_v2/v2.0.5 (0.00s)
        coderepo_test.go:346: Lookup("vcs-test.golang.org/hg/vgotest1.hg/v2"): hg clone -U https://vcs-test.golang.org/hg/vgotest1 . in /tmp/gitrepo-test-521225448/7964b9b40619d926a79132a20d134e995883a6629c60b8abfca3dc770e942ebe: exec: "hg": executable file not found in $PATH
    --- FAIL: TestCodeRepo/rsc.io_quote/v1.0.0 (0.14s)
        coderepo_test.go:362: repo.Stat("v1.0.0"): unknown revision v1.0.0
    --- FAIL: TestCodeRepo/golang.org_x_text/4e4a3210bb (2.28s)
        coderepo_test.go:362: repo.Stat("4e4a3210bb"): unknown revision 4e4a3210bb
    --- FAIL: TestCodeRepo/github.com_pkg_errors/v0.8.0 (0.02s)
        coderepo_test.go:362: repo.Stat("v0.8.0"): unknown revision v0.8.0
    --- FAIL: TestCodeRepo/github.com_rsc_quote_buggy/c4d4236f (0.28s)
        coderepo_test.go:358: repoStat("c4d4236f"): unknown revision c4d4236f, wanted "missing github.com/rsc/quote/buggy/go.mod at revision c4d4236f9242"
    --- FAIL: TestCodeRepo/gopkg.in_yaml.v2/d670f940 (0.82s)
        coderepo_test.go:362: repo.Stat("d670f940"): unknown revision d670f940
    --- FAIL: TestCodeRepo/gopkg.in_check.v1/20d25e280405 (0.70s)
        coderepo_test.go:362: repo.Stat("20d25e280405"): unknown revision 20d25e280405
    --- FAIL: TestCodeRepo/gopkg.in_yaml.v2/v2 (0.00s)
        coderepo_test.go:362: repo.Stat("v2"): unknown revision v2
    --- FAIL: TestCodeRepo/vcs-test.golang.org_go_mod_gitrepo1/master (0.42s)
        coderepo_test.go:362: repo.Stat("master"): unknown revision master
    --- FAIL: TestCodeRepo/gopkg.in_natefinch_lumberjack.v2/latest (0.06s)
        coderepo_test.go:362: repo.Stat("latest"): git ls-remote -q origin in /tmp/gitrepo-test-521225448/f6639b46617cd8e2f0590c1ff9f6c22b9fc721f0a5c57a2486ad19c88496afae: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestCodeRepo/gopkg.in_natefinch_lumberjack.v2/v2.1 (0.00s)
        coderepo_test.go:362: repo.Stat("v2.1"): unknown revision v2.1
--- FAIL: TestCodeRepoVersions (0.25s)
    --- FAIL: TestCodeRepoVersions/github.com_rsc_vgotest1 (0.00s)
        coderepo_test.go:532: Versions(""): git ls-remote -q origin in /tmp/gitrepo-test-521225448/7c09238c58c4c05f1ff1037043c45dbc0a143a87f790c8fce4535334552cc1e7: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestCodeRepoVersions/github.com_rsc_vgotest1#01 (0.00s)
        coderepo_test.go:532: Versions("v1.0"): git ls-remote -q origin in /tmp/gitrepo-test-521225448/7c09238c58c4c05f1ff1037043c45dbc0a143a87f790c8fce4535334552cc1e7: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestCodeRepoVersions/github.com_rsc_vgotest1_v2 (0.00s)
        coderepo_test.go:532: Versions(""): git ls-remote -q origin in /tmp/gitrepo-test-521225448/7c09238c58c4c05f1ff1037043c45dbc0a143a87f790c8fce4535334552cc1e7: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestCodeRepoVersions/gopkg.in_russross_blackfriday.v2 (0.10s)
        coderepo_test.go:532: Versions(""): git ls-remote -q origin in /tmp/gitrepo-test-521225448/cc62e95fa27ded8c880eef93c7731d14c45402229d3f4546f40960f9b0acce51: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestCodeRepoVersions/gopkg.in_natefinch_lumberjack.v2 (0.00s)
        coderepo_test.go:532: Versions(""): git ls-remote -q origin in /tmp/gitrepo-test-521225448/f6639b46617cd8e2f0590c1ff9f6c22b9fc721f0a5c57a2486ad19c88496afae: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
go: finding github.com/rsc/empty latest
go: finding github.com/rsc/vgotest1 latest
go: finding github.com/rsc/vgotest1/subdir latest
go: finding swtch.com/testmod latest
--- FAIL: TestLatest (0.43s)
    --- FAIL: TestLatest/github.com_rsc_empty (0.01s)
        coderepo_test.go:585: Latest(): git ls-remote -q origin in /tmp/gitrepo-test-521225448/b98af88bc4a5f816c285ced6ad5d2eb2cf67cfd9e0fc1f0401038822288c5534: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>..., want "no commits"
    --- FAIL: TestLatest/github.com_rsc_vgotest1 (0.00s)
        coderepo_test.go:587: Latest(): git ls-remote -q origin in /tmp/gitrepo-test-521225448/7c09238c58c4c05f1ff1037043c45dbc0a143a87f790c8fce4535334552cc1e7: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestLatest/github.com_rsc_vgotest1_subdir (0.00s)
        coderepo_test.go:585: Latest(): git ls-remote -q origin in /tmp/gitrepo-test-521225448/7c09238c58c4c05f1ff1037043c45dbc0a143a87f790c8fce4535334552cc1e7: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>..., want "missing github.com/rsc/vgotest1/subdir/go.mod at revision a08abb797a67"
FAIL
FAIL    cmd/go/internal/modfetch        6.680s
--- FAIL: TestTags (0.03s)
    --- FAIL: TestTags/gitrepo1/xxx (0.02s)
        git_test.go:116: git ls-remote -q origin in /tmp/gitrepo-test-179804930/9eb67b0d3b18a33a522615878a829644b79ce578e17860abee82058182efbab2: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestTags/localGitRepo/xxx (0.00s)
        git_test.go:116: git ls-remote -q /tmp/gitrepo-test-179804930/gitrepo2 in /tmp/gitrepo-test-179804930/gitrepo2: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestTags/hgrepo1/xxx (0.00s)
        git_test.go:112: hg clone -U https://vcs-test.golang.org/hg/hgrepo1 . in /tmp/gitrepo-test-179804930/d3b7a8b462d992e89be3956d2142423b53157289df1174e910f47721d58ff2c3: exec: "hg": executable file not found in $PATH
    --- FAIL: TestTags/gitrepo1/ (0.00s)
        git_test.go:116: git ls-remote -q origin in /tmp/gitrepo-test-179804930/9eb67b0d3b18a33a522615878a829644b79ce578e17860abee82058182efbab2: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestTags/localGitRepo/ (0.00s)
        git_test.go:116: git ls-remote -q /tmp/gitrepo-test-179804930/gitrepo2 in /tmp/gitrepo-test-179804930/gitrepo2: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestTags/hgrepo1/ (0.00s)
        git_test.go:112: hg clone -U https://vcs-test.golang.org/hg/hgrepo1 . in /tmp/gitrepo-test-179804930/d3b7a8b462d992e89be3956d2142423b53157289df1174e910f47721d58ff2c3: exec: "hg": executable file not found in $PATH
    --- FAIL: TestTags/gitrepo1/v (0.00s)
        git_test.go:116: git ls-remote -q origin in /tmp/gitrepo-test-179804930/9eb67b0d3b18a33a522615878a829644b79ce578e17860abee82058182efbab2: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestTags/localGitRepo/v (0.00s)
        git_test.go:116: git ls-remote -q /tmp/gitrepo-test-179804930/gitrepo2 in /tmp/gitrepo-test-179804930/gitrepo2: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestTags/hgrepo1/v (0.00s)
        git_test.go:112: hg clone -U https://vcs-test.golang.org/hg/hgrepo1 . in /tmp/gitrepo-test-179804930/d3b7a8b462d992e89be3956d2142423b53157289df1174e910f47721d58ff2c3: exec: "hg": executable file not found in $PATH
    --- FAIL: TestTags/gitrepo1/v1 (0.00s)
        git_test.go:116: git ls-remote -q origin in /tmp/gitrepo-test-179804930/9eb67b0d3b18a33a522615878a829644b79ce578e17860abee82058182efbab2: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestTags/localGitRepo/v1 (0.00s)
        git_test.go:116: git ls-remote -q /tmp/gitrepo-test-179804930/gitrepo2 in /tmp/gitrepo-test-179804930/gitrepo2: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestTags/hgrepo1/v1 (0.00s)
        git_test.go:112: hg clone -U https://vcs-test.golang.org/hg/hgrepo1 . in /tmp/gitrepo-test-179804930/d3b7a8b462d992e89be3956d2142423b53157289df1174e910f47721d58ff2c3: exec: "hg": executable file not found in $PATH
    --- FAIL: TestTags/gitrepo1/2 (0.00s)
        git_test.go:116: git ls-remote -q origin in /tmp/gitrepo-test-179804930/9eb67b0d3b18a33a522615878a829644b79ce578e17860abee82058182efbab2: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestTags/localGitRepo/2 (0.00s)
        git_test.go:116: git ls-remote -q /tmp/gitrepo-test-179804930/gitrepo2 in /tmp/gitrepo-test-179804930/gitrepo2: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestTags/hgrepo1/2 (0.00s)
        git_test.go:112: hg clone -U https://vcs-test.golang.org/hg/hgrepo1 . in /tmp/gitrepo-test-179804930/d3b7a8b462d992e89be3956d2142423b53157289df1174e910f47721d58ff2c3: exec: "hg": executable file not found in $PATH
--- FAIL: TestLatest (0.00s)
    --- FAIL: TestLatest/gitrepo1 (0.00s)
        git_test.go:168: git ls-remote -q origin in /tmp/gitrepo-test-179804930/9eb67b0d3b18a33a522615878a829644b79ce578e17860abee82058182efbab2: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestLatest/localGitRepo (0.00s)
        git_test.go:168: git ls-remote -q /tmp/gitrepo-test-179804930/gitrepo2 in /tmp/gitrepo-test-179804930/gitrepo2: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestLatest/hgrepo1 (0.00s)
        git_test.go:164: hg clone -U https://vcs-test.golang.org/hg/hgrepo1 . in /tmp/gitrepo-test-179804930/d3b7a8b462d992e89be3956d2142423b53157289df1174e910f47721d58ff2c3: exec: "hg": executable file not found in $PATH
--- FAIL: TestReadFile (0.01s)
    --- FAIL: TestReadFile/gitrepo1/latest/README (0.00s)
        git_test.go:222: ReadFile: unexpected error git ls-remote -q origin in /tmp/gitrepo-test-179804930/9eb67b0d3b18a33a522615878a829644b79ce578e17860abee82058182efbab2: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestReadFile/localGitRepo/latest/README (0.00s)
        git_test.go:222: ReadFile: unexpected error git ls-remote -q /tmp/gitrepo-test-179804930/gitrepo2 in /tmp/gitrepo-test-179804930/gitrepo2: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestReadFile/hgrepo1/latest/README (0.00s)
        git_test.go:217: hg clone -U https://vcs-test.golang.org/hg/hgrepo1 . in /tmp/gitrepo-test-179804930/d3b7a8b462d992e89be3956d2142423b53157289df1174e910f47721d58ff2c3: exec: "hg": executable file not found in $PATH
    --- FAIL: TestReadFile/gitrepo1/v2/another.txt (0.01s)
        git_test.go:222: ReadFile: unexpected error unknown revision v2
    --- FAIL: TestReadFile/localGitRepo/v2/another.txt (0.00s)
        git_test.go:222: ReadFile: unexpected error unknown revision v2
    --- FAIL: TestReadFile/hgrepo1/v2/another.txt (0.00s)
        git_test.go:217: hg clone -U https://vcs-test.golang.org/hg/hgrepo1 . in /tmp/gitrepo-test-179804930/d3b7a8b462d992e89be3956d2142423b53157289df1174e910f47721d58ff2c3: exec: "hg": executable file not found in $PATH
    --- FAIL: TestReadFile/gitrepo1/v2.3.4/another.txt (0.00s)
        git_test.go:225: ReadFile: wrong error "unknown revision v2.3.4", want "file does not exist"
    --- FAIL: TestReadFile/localGitRepo/v2.3.4/another.txt (0.01s)
        git_test.go:225: ReadFile: wrong error "unknown revision v2.3.4", want "file does not exist"
    --- FAIL: TestReadFile/hgrepo1/v2.3.4/another.txt (0.00s)
        git_test.go:217: hg clone -U https://vcs-test.golang.org/hg/hgrepo1 . in /tmp/gitrepo-test-179804930/d3b7a8b462d992e89be3956d2142423b53157289df1174e910f47721d58ff2c3: exec: "hg": executable file not found in $PATH
--- FAIL: TestReadZip (0.44s)
    --- FAIL: TestReadZip/gitrepo1/v2.3.4/ (0.00s)
        git_test.go:414: ReadZip: unexpected error unknown revision v2.3.4
    --- FAIL: TestReadZip/localGitRepo/v2.3.4/ (0.00s)
        git_test.go:414: ReadZip: unexpected error unknown revision v2.3.4
    --- FAIL: TestReadZip/hgrepo1/v2.3.4/ (0.00s)
        git_test.go:409: hg clone -U https://vcs-test.golang.org/hg/hgrepo1 . in /tmp/gitrepo-test-179804930/d3b7a8b462d992e89be3956d2142423b53157289df1174e910f47721d58ff2c3: exec: "hg": executable file not found in $PATH
    --- FAIL: TestReadZip/gitrepo1/v2/ (0.00s)
        git_test.go:414: ReadZip: unexpected error unknown revision v2
    --- FAIL: TestReadZip/localGitRepo/v2/ (0.00s)
        git_test.go:414: ReadZip: unexpected error unknown revision v2
    --- FAIL: TestReadZip/hgrepo1/v2/ (0.00s)
        git_test.go:409: hg clone -U https://vcs-test.golang.org/hg/hgrepo1 . in /tmp/gitrepo-test-179804930/d3b7a8b462d992e89be3956d2142423b53157289df1174e910f47721d58ff2c3: exec: "hg": executable file not found in $PATH
    --- FAIL: TestReadZip/gitrepo1/v3/ (0.00s)
        git_test.go:414: ReadZip: unexpected error unknown revision v3
    --- FAIL: TestReadZip/localGitRepo/v3/ (0.00s)
        git_test.go:414: ReadZip: unexpected error unknown revision v3
    --- FAIL: TestReadZip/hgrepo1/v3/ (0.00s)
        git_test.go:409: hg clone -U https://vcs-test.golang.org/hg/hgrepo1 . in /tmp/gitrepo-test-179804930/d3b7a8b462d992e89be3956d2142423b53157289df1174e910f47721d58ff2c3: exec: "hg": executable file not found in $PATH
    --- FAIL: TestReadZip/gitrepo1/v3/v3/sub/dir (0.00s)
        git_test.go:414: ReadZip: unexpected error unknown revision v3
    --- FAIL: TestReadZip/localGitRepo/v3/v3/sub/dir (0.00s)
        git_test.go:414: ReadZip: unexpected error unknown revision v3
    --- FAIL: TestReadZip/hgrepo1/v3/v3/sub/dir (0.00s)
        git_test.go:409: hg clone -U https://vcs-test.golang.org/hg/hgrepo1 . in /tmp/gitrepo-test-179804930/d3b7a8b462d992e89be3956d2142423b53157289df1174e910f47721d58ff2c3: exec: "hg": executable file not found in $PATH
    --- FAIL: TestReadZip/gitrepo1/v3/v3/sub (0.00s)
        git_test.go:414: ReadZip: unexpected error unknown revision v3
    --- FAIL: TestReadZip/localGitRepo/v3/v3/sub (0.00s)
        git_test.go:414: ReadZip: unexpected error unknown revision v3
    --- FAIL: TestReadZip/hgrepo1/v3/v3/sub (0.00s)
        git_test.go:409: hg clone -U https://vcs-test.golang.org/hg/hgrepo1 . in /tmp/gitrepo-test-179804930/d3b7a8b462d992e89be3956d2142423b53157289df1174e910f47721d58ff2c3: exec: "hg": executable file not found in $PATH
    --- FAIL: TestReadZip/hgrepo1/aaaaaaaaab/ (0.00s)
        git_test.go:409: hg clone -U https://vcs-test.golang.org/hg/hgrepo1 . in /tmp/gitrepo-test-179804930/d3b7a8b462d992e89be3956d2142423b53157289df1174e910f47721d58ff2c3: exec: "hg": executable file not found in $PATH
    --- FAIL: TestReadZip/vgotest1/submod/v1.0.4/submod (0.02s)
        git_test.go:414: ReadZip: unexpected error unknown revision submod/v1.0.4
--- FAIL: TestStat (0.04s)
    --- FAIL: TestStat/gitrepo1/HEAD (0.00s)
        git_test.go:586: Stat: unexpected error unknown revision HEAD
    --- FAIL: TestStat/localGitRepo/HEAD (0.00s)
        git_test.go:586: Stat: unexpected error unknown revision HEAD
    --- FAIL: TestStat/hgrepo1/41964ddce1180313bdc01d0a39a2813344d6261d (0.00s)
        git_test.go:581: hg clone -U https://vcs-test.golang.org/hg/hgrepo1 . in /tmp/gitrepo-test-179804930/d3b7a8b462d992e89be3956d2142423b53157289df1174e910f47721d58ff2c3: exec: "hg": executable file not found in $PATH
    --- FAIL: TestStat/gitrepo1/v2 (0.00s)
        git_test.go:586: Stat: unexpected error unknown revision v2
    --- FAIL: TestStat/localGitRepo/v2 (0.00s)
        git_test.go:586: Stat: unexpected error unknown revision v2
    --- FAIL: TestStat/hgrepo1/v2 (0.00s)
        git_test.go:581: hg clone -U https://vcs-test.golang.org/hg/hgrepo1 . in /tmp/gitrepo-test-179804930/d3b7a8b462d992e89be3956d2142423b53157289df1174e910f47721d58ff2c3: exec: "hg": executable file not found in $PATH
    --- FAIL: TestStat/gitrepo1/v2.3.4 (0.00s)
        git_test.go:586: Stat: unexpected error unknown revision v2.3.4
    --- FAIL: TestStat/localGitRepo/v2.3.4 (0.00s)
        git_test.go:586: Stat: unexpected error unknown revision v2.3.4
    --- FAIL: TestStat/hgrepo1/v2.3.4 (0.00s)
        git_test.go:581: hg clone -U https://vcs-test.golang.org/hg/hgrepo1 . in /tmp/gitrepo-test-179804930/d3b7a8b462d992e89be3956d2142423b53157289df1174e910f47721d58ff2c3: exec: "hg": executable file not found in $PATH
    --- FAIL: TestStat/gitrepo1/v2.3 (0.00s)
        git_test.go:586: Stat: unexpected error unknown revision v2.3
    --- FAIL: TestStat/localGitRepo/v2.3 (0.00s)
        git_test.go:586: Stat: unexpected error unknown revision v2.3
    --- FAIL: TestStat/hgrepo1/v2.3 (0.00s)
        git_test.go:581: hg clone -U https://vcs-test.golang.org/hg/hgrepo1 . in /tmp/gitrepo-test-179804930/d3b7a8b462d992e89be3956d2142423b53157289df1174e910f47721d58ff2c3: exec: "hg": executable file not found in $PATH
    --- FAIL: TestStat/gitrepo1/v1.2.3 (0.00s)
        git_test.go:586: Stat: unexpected error unknown revision v1.2.3
    --- FAIL: TestStat/localGitRepo/v1.2.3 (0.00s)
        git_test.go:586: Stat: unexpected error unknown revision v1.2.3
    --- FAIL: TestStat/hgrepo1/v1.2.3 (0.00s)
        git_test.go:581: hg clone -U https://vcs-test.golang.org/hg/hgrepo1 . in /tmp/gitrepo-test-179804930/d3b7a8b462d992e89be3956d2142423b53157289df1174e910f47721d58ff2c3: exec: "hg": executable file not found in $PATH
    --- FAIL: TestStat/gitrepo1/ede458df (0.01s)
        git_test.go:586: Stat: unexpected error unknown revision ede458df
    --- FAIL: TestStat/localGitRepo/ede458df (0.00s)
        git_test.go:586: Stat: unexpected error unknown revision ede458df
    --- FAIL: TestStat/hgrepo1/41964ddc (0.00s)
        git_test.go:581: hg clone -U https://vcs-test.golang.org/hg/hgrepo1 . in /tmp/gitrepo-test-179804930/d3b7a8b462d992e89be3956d2142423b53157289df1174e910f47721d58ff2c3: exec: "hg": executable file not found in $PATH
    --- FAIL: TestStat/gitrepo1/97f6aa59 (0.01s)
        git_test.go:586: Stat: unexpected error unknown revision 97f6aa59
    --- FAIL: TestStat/localGitRepo/97f6aa59 (0.00s)
        git_test.go:586: Stat: unexpected error unknown revision 97f6aa59
    --- FAIL: TestStat/hgrepo1/c0cbbfb2 (0.00s)
        git_test.go:581: hg clone -U https://vcs-test.golang.org/hg/hgrepo1 . in /tmp/gitrepo-test-179804930/d3b7a8b462d992e89be3956d2142423b53157289df1174e910f47721d58ff2c3: exec: "hg": executable file not found in $PATH
    --- FAIL: TestStat/gitrepo1/v1.2.4-annotated (0.00s)
        git_test.go:586: Stat: unexpected error unknown revision v1.2.4-annotated
    --- FAIL: TestStat/localGitRepo/v1.2.4-annotated (0.00s)
        git_test.go:586: Stat: unexpected error unknown revision v1.2.4-annotated
    --- FAIL: TestStat/hgrepo1/v1.2.4-annotated (0.00s)
        git_test.go:581: hg clone -U https://vcs-test.golang.org/hg/hgrepo1 . in /tmp/gitrepo-test-179804930/d3b7a8b462d992e89be3956d2142423b53157289df1174e910f47721d58ff2c3: exec: "hg": executable file not found in $PATH
    --- FAIL: TestStat/hgrepo1/aaaaaaaaab (0.00s)
        git_test.go:581: hg clone -U https://vcs-test.golang.org/hg/hgrepo1 . in /tmp/gitrepo-test-179804930/d3b7a8b462d992e89be3956d2142423b53157289df1174e910f47721d58ff2c3: exec: "hg": executable file not found in $PATH
FAIL
FAIL    cmd/go/internal/modfetch/codehost       0.912s
ok      cmd/go/internal/modfile (cached)
?       cmd/go/internal/modget  [no test files]
?       cmd/go/internal/modinfo [no test files]
--- FAIL: TestImport (1.00s)
    --- FAIL: TestImport/golang.org_x_net_context (0.55s)
        import_test.go:55: Import("golang.org/x/net/context"): error "cannot find module providing package golang.org/x/net/context", want error matching `missing module for import: golang.org/x/net@.* provides golang.org/x/net/context`
    --- FAIL: TestImport/golang.org_x_text (0.06s)
        import_test.go:55: Import("golang.org/x/text"): error "cannot find module providing package golang.org/x/text", want error matching `missing module for import: golang.org/x/text@.* provides golang.org/x/text`
    --- FAIL: TestImport/github.com_rsc_quote_buggy (0.28s)
        import_test.go:55: Import("github.com/rsc/quote/buggy"): error "cannot find module providing package github.com/rsc/quote/buggy", want error matching `missing module for import: github.com/rsc/quote@v1.5.2 provides github.com/rsc/quote/buggy`
    --- FAIL: TestImport/github.com_rsc_quote (0.00s)
        import_test.go:55: Import("github.com/rsc/quote"): error "cannot find module providing package github.com/rsc/quote", want error matching `missing module for import: github.com/rsc/quote@v1.5.2 provides github.com/rsc/quote`
go: finding vcs-test.golang.org/git/querytest.git v0.0.1
go: finding vcs-test.golang.org/git/querytest.git v0.0.99
go: finding vcs-test.golang.org/git/querytest.git 6cf84eb
go: finding vcs-test.golang.org/git/querytest.git start
go: finding vcs-test.golang.org/git/querytest.git 7a1b6bf
go: finding vcs-test.golang.org/git/querytest.git/v2 v0.0.1
--- FAIL: TestQuery (1.32s)
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/<v0.0.0/* (0.24s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git", "<v0.0.0", *): git ls-remote -q origin in /tmp/modload-test-065507473/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/<v0.0.0-pre1/* (0.00s)
        query_test.go:141: Query("vcs-test.golang.org/git/querytest.git", "<v0.0.0-pre1", *): git ls-remote -q origin in /tmp/modload-test-065507473/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>..., want error "no matching versions for query \"<v0.0.0-pre1\""
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/<=v0.0.0/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git", "<=v0.0.0", *): git ls-remote -q origin in /tmp/modload-test-065507473/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/>v0.0.0/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git", ">v0.0.0", *): git ls-remote -q origin in /tmp/modload-test-065507473/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/>=v0.0.0/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git", ">=v0.0.0", *): git ls-remote -q origin in /tmp/modload-test-065507473/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/v0.0.1/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git", "v0.0.1", *): unknown revision v0.0.1
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/v0.0.1+foo/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git", "v0.0.1+foo", *): unknown revision v0.0.1
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/v0/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git", "v0", *): git ls-remote -q origin in /tmp/modload-test-065507473/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/v0.1/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git", "v0.1", *): git ls-remote -q origin in /tmp/modload-test-065507473/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/v0.2/* (0.00s)
        query_test.go:141: Query("vcs-test.golang.org/git/querytest.git", "v0.2", *): git ls-remote -q origin in /tmp/modload-test-065507473/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>..., want error "no matching versions for query \"v0.2\""
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/v0.0/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git", "v0.0", *): git ls-remote -q origin in /tmp/modload-test-065507473/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/latest/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git", "latest", *): git ls-remote -q origin in /tmp/modload-test-065507473/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/latest/NOMATCH (0.00s)
        query_test.go:141: Query("vcs-test.golang.org/git/querytest.git", "latest", NOMATCH): git ls-remote -q origin in /tmp/modload-test-065507473/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>..., want error "no matching versions for query \"latest\""
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/>v1.9.9/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git", ">v1.9.9", *): git ls-remote -q origin in /tmp/modload-test-065507473/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/>v1.10.0/* (0.00s)
        query_test.go:141: Query("vcs-test.golang.org/git/querytest.git", ">v1.10.0", *): git ls-remote -q origin in /tmp/modload-test-065507473/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>..., want error "no matching versions for query \">v1.10.0\""
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/>=v1.10.0/* (0.00s)
        query_test.go:141: Query("vcs-test.golang.org/git/querytest.git", ">=v1.10.0", *): git ls-remote -q origin in /tmp/modload-test-065507473/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>..., want error "no matching versions for query \">=v1.10.0\""
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/6cf84eb/* (0.39s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git", "6cf84eb", *): unknown revision 6cf84eb
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/start/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git", "start", *): unknown revision start
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/7a1b6bf/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git", "7a1b6bf", *): unknown revision 7a1b6bf
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git_v2/<v0.0.0/* (0.22s)
        query_test.go:141: Query("vcs-test.golang.org/git/querytest.git/v2", "<v0.0.0", *): git ls-remote -q origin in /tmp/modload-test-065507473/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>..., want error "no matching versions for query \"<v0.0.0\""
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git_v2/<=v0.0.0/* (0.00s)
        query_test.go:141: Query("vcs-test.golang.org/git/querytest.git/v2", "<=v0.0.0", *): git ls-remote -q origin in /tmp/modload-test-065507473/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>..., want error "no matching versions for query \"<=v0.0.0\""
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git_v2/>v0.0.0/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git/v2", ">v0.0.0", *): git ls-remote -q origin in /tmp/modload-test-065507473/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git_v2/>=v0.0.0/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git/v2", ">=v0.0.0", *): git ls-remote -q origin in /tmp/modload-test-065507473/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git_v2/v0.0.1+foo/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git/v2", "v0.0.1+foo", *): unknown revision v0.0.1
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git_v2/latest/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git/v2", "latest", *): git ls-remote -q origin in /tmp/modload-test-065507473/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git_v3/latest/* (0.23s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git/v3", "latest", *): git ls-remote -q origin in /tmp/modload-test-065507473/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestQuery/vcs-test.golang.org_git_emptytest.git/latest/* (0.23s)
        query_test.go:144: Query("vcs-test.golang.org/git/emptytest.git", "latest", *): git ls-remote -q origin in /tmp/modload-test-065507473/codework/b2036c22b1459c8b0c5bd7b1c927425e115d01c72268fd0f860b00ebfbd27d71: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestQuery/vcs-test.golang.org_git_emptytest.git/>v0.0.0/* (0.00s)
        query_test.go:141: Query("vcs-test.golang.org/git/emptytest.git", ">v0.0.0", *): git ls-remote -q origin in /tmp/modload-test-065507473/codework/b2036c22b1459c8b0c5bd7b1c927425e115d01c72268fd0f860b00ebfbd27d71: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>..., want error "no matching versions for query \">v0.0.0\""
    --- FAIL: TestQuery/vcs-test.golang.org_git_emptytest.git/<v10.0.0/* (0.00s)
        query_test.go:141: Query("vcs-test.golang.org/git/emptytest.git", "<v10.0.0", *): git ls-remote -q origin in /tmp/modload-test-065507473/codework/b2036c22b1459c8b0c5bd7b1c927425e115d01c72268fd0f860b00ebfbd27d71: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>..., want error "no matching versions for query \"<v10.0.0\""
FAIL
FAIL    cmd/go/internal/modload 2.331s
ok      cmd/go/internal/module  (cached)
ok      cmd/go/internal/mvs     (cached)
ok      cmd/go/internal/par     (cached)
?       cmd/go/internal/run     [no test files]
ok      cmd/go/internal/search  (cached)
ok      cmd/go/internal/semver  (cached)
?       cmd/go/internal/str     [no test files]
?       cmd/go/internal/test    [no test files]
?       cmd/go/internal/tool    [no test files]
ok      cmd/go/internal/txtar   (cached)
?       cmd/go/internal/version [no test files]
?       cmd/go/internal/vet     [no test files]
?       cmd/go/internal/web     [no test files]
ok      cmd/go/internal/web2    0.005s
?       cmd/go/internal/webtest [no test files]
ok      cmd/go/internal/work    (cached)

@bcmills
Copy link
Contributor Author

bcmills commented Dec 12, 2018

At go version devel +d1882c9 Wed Dec 12 19:33:05 2018 +0000 linux/amd64, it's about equally dire.

[bcmills@dev-bcmills-centos6 src]$ go test cmd/go/...
--- FAIL: TestGoGetInsecure (30.88s)
    --- FAIL: TestGoGetInsecure/modules (20.33s)
        go_test.go:3611: running testgo [get -d insecure.go-get-issue-15410.appspot.com/pkg/p]
        go_test.go:3611: standard error:
        go_test.go:3611: go get insecure.go-get-issue-15410.appspot.com/pkg/p: unrecognized import path "insecure.go-get-issue-15410.appspot.com/pkg/p" (https fetch: Get https://insecure.go-get-issue-15410.appspot.com/pkg/p?go-get=1: x509: certificate is valid for *.appspot-preview.com, *.a.run.app, *.appspot.com, *.thinkwithgoogle.com, *.withgoogle.com, *.withyoutube.com, appspot-preview.com, appspot.com, run.app, thinkwithgoogle.com, withgoogle.com, withyoutube.com, not insecure.go-get-issue-15410.appspot.com)

        go_test.go:3611: testgo failed as expected: exit status 1
        go_test.go:3614: running testgo [get -d -insecure insecure.go-get-issue-15410.appspot.com/pkg/p]
        go_test.go:3614: standard error:
        go_test.go:3614: go get insecure.go-get-issue-15410.appspot.com/pkg/p: git ls-remote -q origin in /tmp/gotest592993456/gp/pkg/mod/cache/vcs/30ec4a2adabe78ecc6f3c9bfbb4a4d91efc4ca010ea5fdeaedf1c15c6db4e347: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...

        go_test.go:3614: go [get -d -insecure insecure.go-get-issue-15410.appspot.com/pkg/p] failed unexpectedly in /tmp/gotest592993456: exit status 1
        asm_amd64.s:519: ended in /tmp/gotest592993456
--- FAIL: TestGoGetUpdateUnknownProtocol (0.27s)
    go_test.go:3680: git config: exit status 129
        error: unknown option `local'
        usage: git config [options]

        Config file location
            --global              use global config file
            --system              use system config file
            -f, --file <FILE>     use given config file

        Action
            --get                 get value: name [value-regex]
            --get-all             get all values: key [value-regex]
            --get-regexp          get values for regexp: name-regex [value-regex]
            --replace-all         replace all matching variables: name value [value_regex]
            --add                 adds a new variable: name value
            --unset               removes a variable: name [value-regex]
            --unset-all           removes all matches: name [value-regex]
            --rename-section      rename section: old-name new-name
            --remove-section      remove a section: name
            -l, --list            list all
            -e, --edit            opens an editor
            --get-color <slot>    find the color configured: [default]
            --get-colorbool <slot>
                                  find the color setting: [stdout-is-tty]

        Type
            --bool                value is "true" or "false"
            --int                 value is decimal number
            --bool-or-int         value is --bool or --int
            --path                value is a path (file or directory name)

        Other
            -z, --null            terminate values with NUL byte

go test proxy starting
go test proxy running at GOPROXY=http://127.0.0.1:45751/mod
go proxy: no archive rsc.io v1.5.0
go proxy: no archive example.com/split/subpkg v1.0.0
go proxy: no archive golang.org/x/text/language 14c0d48
go proxy: no archive golang.org/x/text/language 14c0d48
go proxy: no archive golang.org/x/text/language 14c0d48
go proxy: no archive golang.org/x/text/foo 14c0d48
go proxy: no archive golang.org/x 14c0d48
go proxy: no archive golang.org 14c0d48
go proxy: no archive this.domain.is.invalid/somemodule v1.0.0
go proxy: no archive this.domain.is.invalid/somemodule v1.0.0
--- FAIL: TestScript (0.00s)
    --- FAIL: TestScript/mod_init_dep (0.17s)
        script_test.go:182:
            # modconv uses git directly to examine what old 'go get' would (0.000s)
            # go build should populate go.mod from Gopkg.lock (0.168s)
            > cp go.mod1 go.mod
            > go build
            [stderr]
            go: copying requirements from Gopkg.lock
            go: converting Gopkg.lock: stat rsc.io/sampler@v1.0.0: unknown revision v1.0.0
            > stderr 'copying requirements from Gopkg.lock'
            > go list -m all
            [stdout]
            x
            > ! stderr 'copying requirements from Gopkg.lock'
            > stdout 'rsc.io/sampler v1.0.0'
            FAIL: testdata/script/mod_init_dep.txt:13: no match for `rsc.io/sampler v1.0.0` found in stdout

    --- FAIL: TestScript/mod_gopkg_unstable (0.64s)
        script_test.go:182:
            > env GO111MODULE=on
            > cp go.mod.empty go.mod
            > go get -d gopkg.in/dummy.v2-unstable
            [stderr]
            go: finding gopkg.in/dummy.v2-unstable v2.0.0
            go: downloading gopkg.in/dummy.v2-unstable v2.0.0
            go: extracting gopkg.in/dummy.v2-unstable v2.0.0
            > cp x.go.txt x.go
            > cp go.mod.empty go.mod
            > go list
            [stdout]
            m
            > [!net] skip
            > env GOPROXY=
            > go get gopkg.in/macaroon-bakery.v2-unstable/bakery
            [stderr]
            go: finding gopkg.in/macaroon-bakery.v2-unstable latest
            go get gopkg.in/macaroon-bakery.v2-unstable/bakery: invalid module path "gopkg.in/macaroon-bakery.v2-unstable/bakery"
            [exit status 1]
            FAIL: testdata/script/mod_gopkg_unstable.txt:13: unexpected command failure

    --- FAIL: TestScript/mod_git_export_subst (0.27s)
        script_test.go:182:
            # Testing that git export-subst is disabled (0.257s)
            > [!net] skip
            > [!exec:git] skip
            > go build
            [stderr]
            go: finding github.com/jasonkeene/export-subst v0.0.0-20180927204031-5845945ec626
            go: github.com/jasonkeene/export-subst@v0.0.0-20180927204031-5845945ec626: unknown revision 5845945ec626
            go: error loading module requirements
            [exit status 1]
            FAIL: testdata/script/mod_git_export_subst.txt:7: unexpected command failure

    --- FAIL: TestScript/mod_get_pseudo (0.04s)
        script_test.go:182:
            # Testing git->module converter's generation of +incompatible tags; turn off proxy. (0.000s)
            # We can resolve the @master branch without unshallowing the local repository
            # (even with older gits), so try that before we do anything else.
            # (This replicates https://golang.org/issue/26713 with git 2.7.4.) (0.039s)
            > go get -m github.com/rsc/legacytest@master
            [stderr]
            go: finding github.com/rsc/legacytest master
            go get github.com/rsc/legacytest@master: unknown revision master
            [exit status 1]
            FAIL: testdata/script/mod_get_pseudo.txt:11: unexpected command failure

    --- FAIL: TestScript/mod_get_private_vcs (0.24s)
        script_test.go:182:
            # Testing stderr for git ls-remote; turn off proxy. (0.241s)
            > [!net] skip
            > [!exec:git] skip
            > env GOPROXY=
            > ! go get github.com/golang/nonexist
            [stderr]
            go get github.com/golang/nonexist: git ls-remote -q origin in $WORK/gopath/pkg/mod/cache/vcs/fe79536d9a1276624b46579863becee5e7b9417407a76ef97e9e2e6defd014e1: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
            [exit status 1]
            > stderr 'If this is a private repository, see https://golang.org/doc/faq#git_https for additional information.'
            FAIL: testdata/script/mod_get_private_vcs.txt:9: no match for `If this is a private repository, see https://golang.org/doc/faq#git_https for additional information.` found in stderr

    --- FAIL: TestScript/mod_download_hash (0.56s)
        script_test.go:182:
            # Testing mod download with non semantic versions; turn off proxy. (0.549s)
            > [!net] skip
            > [!exec:git] skip
            > env GOPROXY=
            > go mod download rsc.io/quote@a91498bed0a73d4bb9c1fb2597925f7883bc40a7
            [stderr]
            go: finding rsc.io/quote a91498bed0a73d4bb9c1fb2597925f7883bc40a7
            rsc.io/quote@a91498bed0a73d4bb9c1fb2597925f7883bc40a7: invalid version "a91498bed0a73d4bb9c1fb2597925f7883bc40a7"
            [exit status 1]
            FAIL: testdata/script/mod_download_hash.txt:8: unexpected command failure

--- FAIL: TestMoveGit (1.50s)
    go_test.go:1101: running testgo [get -d rsc.io/pdf]
    go_test.go:1102: running testgo [get -d -u rsc.io/pdf]
    go_test.go:1124: running testgo [build -o sink sink]
    go_test.go:1127: running testgo [get -d -u rsc.io/pdf]
    go_test.go:1127: standard error:
    go_test.go:1127: package rsc.io/pdf: rsc.io/pdf is a custom import path for https://github.com/rsc/pdf, but /tmp/gotest126219035/src/rsc.io/pdf is checked out from https://github.com/rsc/pdfXXX

    go_test.go:1127: testgo failed as expected: exit status 1
    go_test.go:1129: running testgo [get -d -f -u rsc.io/pdf]
    go_test.go:1129: standard error:
    go_test.go:1129: # cd /tmp/gotest126219035/src/rsc.io/pdf; git pull --ff-only
        error: The requested URL returned error: 403 Forbidden while accessing https://github.com/rsc/pdfXXX/info/refs

        fatal: HTTP request failed
        package rsc.io/pdf: exit status 1

    go_test.go:1129: testgo failed as expected: exit status 1
    go_test.go:1130: go get -d -f -u rsc.io/pdf failed for wrong reason
    go_test.go:1130: pattern validating server certificate|[nN]ot [fF]ound not found in standard error
--- FAIL: TestAccidentalGitCheckout (1.96s)
    go_test.go:1315: running testgo [get -u vcs-test.golang.org/go/test1-svn-git]
    go_test.go:1315: standard error:
    go_test.go:1315: package vcs-test.golang.org/go/test1-svn-git/git-README-only/pkg: directory "/tmp/gotest321910327/src/vcs-test.golang.org/go/test1-svn-git/git-README-only/pkg" uses svn, but parent "/tmp/gotest321910327/src/vcs-test.golang.org/go/test1-svn-git/git-README-only" uses git

    go_test.go:1315: testgo failed as expected: exit status 1
    go_test.go:1316: get did not fail for right reason
    go_test.go:1316: pattern src[\\/]vcs-test.* uses git, but parent .*src[\\/]vcs-test.* uses svn not found in standard error
FAIL
FAIL    cmd/go  327.366s
?       cmd/go/internal/base    [no test files]
?       cmd/go/internal/bug     [no test files]
ok      cmd/go/internal/cache   (cached)
?       cmd/go/internal/cfg     [no test files]
?       cmd/go/internal/clean   [no test files]
?       cmd/go/internal/cmdflag [no test files]
ok      cmd/go/internal/dirhash (cached)
?       cmd/go/internal/doc     [no test files]
?       cmd/go/internal/envcmd  [no test files]
?       cmd/go/internal/fix     [no test files]
?       cmd/go/internal/fmtcmd  [no test files]
ok      cmd/go/internal/generate        (cached)
ok      cmd/go/internal/get     (cached)
?       cmd/go/internal/help    [no test files]
ok      cmd/go/internal/imports (cached)
?       cmd/go/internal/list    [no test files]
ok      cmd/go/internal/load    (cached)
ok      cmd/go/internal/lockedfile      (cached)
ok      cmd/go/internal/lockedfile/internal/filelock    (cached)
?       cmd/go/internal/modcmd  [no test files]
go: downloading github.com/docker/distribution v0.0.0-20150410205453-85de3967aa93
go: downloading github.com/fishy/gcsbucket v0.0.0-20150410205453-618d60fe84e0
--- FAIL: TestConvertLegacyConfig (1.82s)
    --- FAIL: TestConvertLegacyConfig/github.com_docker_distribution_v0.0.0-20150410205453-85de3967aa93 (1.58s)
        convert_test.go:161: reading github.com/docker/distribution/go.mod at revision 85de3967aa93: unknown revision 85de3967aa93
    --- FAIL: TestConvertLegacyConfig/github.com_fishy_gcsbucket_v0.0.0-20150410205453-618d60fe84e0 (0.25s)
        convert_test.go:161: reading github.com/fishy/gcsbucket/go.mod at revision 618d60fe84e0: unknown revision 618d60fe84e0
FAIL
FAIL    cmd/go/internal/modconv 1.845s
go: finding github.com/rsc/vgotest1 v0.0.0
go: finding vcs-test.golang.org/hg/vgotest1.hg v0.0.0
go: finding github.com/rsc/vgotest1 v1.0.0
go: finding vcs-test.golang.org/hg/vgotest1.hg v1.0.0
go: finding github.com/rsc/vgotest1/v2 v2.0.0
go: finding vcs-test.golang.org/hg/vgotest1.hg/v2 v2.0.0
go: finding github.com/rsc/vgotest1 80d85c5
go: finding vcs-test.golang.org/hg/vgotest1.hg e125018
go: finding github.com/rsc/vgotest1 mytag
go: finding vcs-test.golang.org/hg/vgotest1.hg mytag
go: finding github.com/rsc/vgotest1/v2 45f53230a
go: finding vcs-test.golang.org/hg/vgotest1.hg/v2 814fce58e
go: finding github.com/rsc/vgotest1/v54321 80d85c5
go: finding vcs-test.golang.org/hg/vgotest1.hg/v54321 e125018
go: finding github.com/rsc/vgotest1/submod v1.0.0
go: finding vcs-test.golang.org/hg/vgotest1.hg/submod v1.0.0
go: finding github.com/rsc/vgotest1/submod v1.0.3
go: finding vcs-test.golang.org/hg/vgotest1.hg/submod v1.0.3
go: finding github.com/rsc/vgotest1/submod v1.0.4
go: finding vcs-test.golang.org/hg/vgotest1.hg/submod v1.0.4
go: finding github.com/rsc/vgotest1 v1.1.0
go: finding vcs-test.golang.org/hg/vgotest1.hg v1.1.0
go: finding github.com/rsc/vgotest1/v2 v2.0.1
go: finding vcs-test.golang.org/hg/vgotest1.hg/v2 v2.0.1
go: finding github.com/rsc/vgotest1/v2 v2.0.3
go: finding vcs-test.golang.org/hg/vgotest1.hg/v2 v2.0.3
go: finding github.com/rsc/vgotest1/v2 v2.0.4
go: finding vcs-test.golang.org/hg/vgotest1.hg/v2 v2.0.4
go: finding github.com/rsc/vgotest1/v2 v2.0.5
go: finding vcs-test.golang.org/hg/vgotest1.hg/v2 v2.0.5
go: finding rsc.io/quote v1.0.0
go: finding swtch.com/testmod v1.0.0
go: finding golang.org/x/text 4e4a3210bb
go: finding github.com/pkg/errors v0.8.0
go: finding github.com/rsc/quote/buggy c4d4236f
go: finding gopkg.in/yaml.v2 d670f940
go: finding gopkg.in/check.v1 20d25e280405
go: finding gopkg.in/yaml.v2 v2
go: finding vcs-test.golang.org/go/mod/gitrepo1 master
go: finding gopkg.in/natefinch/lumberjack.v2 latest
go: finding gopkg.in/natefinch/lumberjack.v2 v2.1
--- FAIL: TestCodeRepo (13.14s)
    --- FAIL: TestCodeRepo/github.com_rsc_vgotest1/v0.0.0 (0.02s)
        coderepo_test.go:362: repo.Stat("v0.0.0"): unknown revision v0.0.0
    --- FAIL: TestCodeRepo/github.com_rsc_vgotest1/v1.0.0 (0.00s)
        coderepo_test.go:362: repo.Stat("v1.0.0"): unknown revision v1.0.0
    --- FAIL: TestCodeRepo/github.com_rsc_vgotest1_v2/v2.0.0 (0.00s)
        coderepo_test.go:362: repo.Stat("v2.0.0"): unknown revision v2.0.0
    --- FAIL: TestCodeRepo/github.com_rsc_vgotest1/80d85c5 (0.26s)
        coderepo_test.go:362: repo.Stat("80d85c5"): unknown revision 80d85c5
    --- FAIL: TestCodeRepo/github.com_rsc_vgotest1/mytag (0.00s)
        coderepo_test.go:362: repo.Stat("mytag"): unknown revision mytag
    --- FAIL: TestCodeRepo/github.com_rsc_vgotest1_v2/45f53230a (0.00s)
        coderepo_test.go:362: repo.Stat("45f53230a"): unknown revision 45f53230a
    --- FAIL: TestCodeRepo/github.com_rsc_vgotest1_v54321/80d85c5 (0.00s)
        coderepo_test.go:362: repo.Stat("80d85c5"): unknown revision 80d85c5
    --- FAIL: TestCodeRepo/github.com_rsc_vgotest1_submod/v1.0.4 (0.00s)
        coderepo_test.go:362: repo.Stat("v1.0.4"): unknown revision submod/v1.0.4
    --- FAIL: TestCodeRepo/github.com_rsc_vgotest1/v1.1.0 (0.00s)
        coderepo_test.go:362: repo.Stat("v1.1.0"): unknown revision v1.1.0
    --- FAIL: TestCodeRepo/github.com_rsc_vgotest1_v2/v2.0.1 (0.00s)
        coderepo_test.go:362: repo.Stat("v2.0.1"): unknown revision v2.0.1
    --- FAIL: TestCodeRepo/github.com_rsc_vgotest1_v2/v2.0.3 (0.00s)
        coderepo_test.go:362: repo.Stat("v2.0.3"): unknown revision v2.0.3
    --- FAIL: TestCodeRepo/github.com_rsc_vgotest1_v2/v2.0.4 (0.00s)
        coderepo_test.go:362: repo.Stat("v2.0.4"): unknown revision v2.0.4
    --- FAIL: TestCodeRepo/github.com_rsc_vgotest1_v2/v2.0.5 (0.00s)
        coderepo_test.go:362: repo.Stat("v2.0.5"): unknown revision v2.0.5
    --- FAIL: TestCodeRepo/rsc.io_quote/v1.0.0 (0.09s)
        coderepo_test.go:362: repo.Stat("v1.0.0"): unknown revision v1.0.0
    --- FAIL: TestCodeRepo/golang.org_x_text/4e4a3210bb (2.30s)
        coderepo_test.go:362: repo.Stat("4e4a3210bb"): unknown revision 4e4a3210bb
    --- FAIL: TestCodeRepo/github.com_pkg_errors/v0.8.0 (0.01s)
        coderepo_test.go:362: repo.Stat("v0.8.0"): unknown revision v0.8.0
    --- FAIL: TestCodeRepo/github.com_rsc_quote_buggy/c4d4236f (0.61s)
        coderepo_test.go:358: repoStat("c4d4236f"): unknown revision c4d4236f, wanted "missing github.com/rsc/quote/buggy/go.mod at revision c4d4236f9242"
    --- FAIL: TestCodeRepo/gopkg.in_yaml.v2/d670f940 (1.15s)
        coderepo_test.go:362: repo.Stat("d670f940"): unknown revision d670f940
    --- FAIL: TestCodeRepo/gopkg.in_check.v1/20d25e280405 (0.80s)
        coderepo_test.go:362: repo.Stat("20d25e280405"): unknown revision 20d25e280405
    --- FAIL: TestCodeRepo/gopkg.in_yaml.v2/v2 (0.00s)
        coderepo_test.go:362: repo.Stat("v2"): unknown revision v2
    --- FAIL: TestCodeRepo/vcs-test.golang.org_go_mod_gitrepo1/master (0.33s)
        coderepo_test.go:362: repo.Stat("master"): unknown revision master
    --- FAIL: TestCodeRepo/gopkg.in_natefinch_lumberjack.v2/latest (0.07s)
        coderepo_test.go:362: repo.Stat("latest"): git ls-remote -q origin in /tmp/gitrepo-test-064734620/f6639b46617cd8e2f0590c1ff9f6c22b9fc721f0a5c57a2486ad19c88496afae: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestCodeRepo/gopkg.in_natefinch_lumberjack.v2/v2.1 (0.00s)
        coderepo_test.go:362: repo.Stat("v2.1"): unknown revision v2.1
--- FAIL: TestCodeRepoVersions (0.21s)
    --- FAIL: TestCodeRepoVersions/github.com_rsc_vgotest1 (0.00s)
        coderepo_test.go:538: Versions(""): git ls-remote -q origin in /tmp/gitrepo-test-064734620/7c09238c58c4c05f1ff1037043c45dbc0a143a87f790c8fce4535334552cc1e7: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestCodeRepoVersions/github.com_rsc_vgotest1#01 (0.00s)
        coderepo_test.go:538: Versions("v1.0"): git ls-remote -q origin in /tmp/gitrepo-test-064734620/7c09238c58c4c05f1ff1037043c45dbc0a143a87f790c8fce4535334552cc1e7: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestCodeRepoVersions/github.com_rsc_vgotest1_v2 (0.00s)
        coderepo_test.go:538: Versions(""): git ls-remote -q origin in /tmp/gitrepo-test-064734620/7c09238c58c4c05f1ff1037043c45dbc0a143a87f790c8fce4535334552cc1e7: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestCodeRepoVersions/gopkg.in_russross_blackfriday.v2 (0.09s)
        coderepo_test.go:538: Versions(""): git ls-remote -q origin in /tmp/gitrepo-test-064734620/cc62e95fa27ded8c880eef93c7731d14c45402229d3f4546f40960f9b0acce51: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestCodeRepoVersions/gopkg.in_natefinch_lumberjack.v2 (0.00s)
        coderepo_test.go:538: Versions(""): git ls-remote -q origin in /tmp/gitrepo-test-064734620/f6639b46617cd8e2f0590c1ff9f6c22b9fc721f0a5c57a2486ad19c88496afae: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
go: finding github.com/rsc/empty latest
go: finding github.com/rsc/vgotest1 latest
go: finding github.com/rsc/vgotest1/subdir latest
go: finding swtch.com/testmod latest
--- FAIL: TestLatest (0.36s)
    --- FAIL: TestLatest/github.com_rsc_empty (0.02s)
        coderepo_test.go:591: Latest(): git ls-remote -q origin in /tmp/gitrepo-test-064734620/b98af88bc4a5f816c285ced6ad5d2eb2cf67cfd9e0fc1f0401038822288c5534: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>..., want "no commits"
    --- FAIL: TestLatest/github.com_rsc_vgotest1 (0.00s)
        coderepo_test.go:593: Latest(): git ls-remote -q origin in /tmp/gitrepo-test-064734620/7c09238c58c4c05f1ff1037043c45dbc0a143a87f790c8fce4535334552cc1e7: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestLatest/github.com_rsc_vgotest1_subdir (0.00s)
        coderepo_test.go:591: Latest(): git ls-remote -q origin in /tmp/gitrepo-test-064734620/7c09238c58c4c05f1ff1037043c45dbc0a143a87f790c8fce4535334552cc1e7: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>..., want "missing github.com/rsc/vgotest1/subdir/go.mod at revision a08abb797a67"
FAIL
FAIL    cmd/go/internal/modfetch        13.749s
--- FAIL: TestTags (0.90s)
    --- FAIL: TestTags/gitrepo1/xxx (0.01s)
        git_test.go:116: git ls-remote -q origin in /tmp/gitrepo-test-445447254/9eb67b0d3b18a33a522615878a829644b79ce578e17860abee82058182efbab2: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestTags/localGitRepo/xxx (0.00s)
        git_test.go:116: git ls-remote -q /tmp/gitrepo-test-445447254/gitrepo2 in /tmp/gitrepo-test-445447254/gitrepo2: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestTags/gitrepo1/ (0.00s)
        git_test.go:116: git ls-remote -q origin in /tmp/gitrepo-test-445447254/9eb67b0d3b18a33a522615878a829644b79ce578e17860abee82058182efbab2: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestTags/localGitRepo/ (0.00s)
        git_test.go:116: git ls-remote -q /tmp/gitrepo-test-445447254/gitrepo2 in /tmp/gitrepo-test-445447254/gitrepo2: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestTags/gitrepo1/v (0.00s)
        git_test.go:116: git ls-remote -q origin in /tmp/gitrepo-test-445447254/9eb67b0d3b18a33a522615878a829644b79ce578e17860abee82058182efbab2: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestTags/localGitRepo/v (0.00s)
        git_test.go:116: git ls-remote -q /tmp/gitrepo-test-445447254/gitrepo2 in /tmp/gitrepo-test-445447254/gitrepo2: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestTags/gitrepo1/v1 (0.00s)
        git_test.go:116: git ls-remote -q origin in /tmp/gitrepo-test-445447254/9eb67b0d3b18a33a522615878a829644b79ce578e17860abee82058182efbab2: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestTags/localGitRepo/v1 (0.00s)
        git_test.go:116: git ls-remote -q /tmp/gitrepo-test-445447254/gitrepo2 in /tmp/gitrepo-test-445447254/gitrepo2: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestTags/gitrepo1/2 (0.00s)
        git_test.go:116: git ls-remote -q origin in /tmp/gitrepo-test-445447254/9eb67b0d3b18a33a522615878a829644b79ce578e17860abee82058182efbab2: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestTags/localGitRepo/2 (0.00s)
        git_test.go:116: git ls-remote -q /tmp/gitrepo-test-445447254/gitrepo2 in /tmp/gitrepo-test-445447254/gitrepo2: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
--- FAIL: TestLatest (0.40s)
    --- FAIL: TestLatest/gitrepo1 (0.00s)
        git_test.go:168: git ls-remote -q origin in /tmp/gitrepo-test-445447254/9eb67b0d3b18a33a522615878a829644b79ce578e17860abee82058182efbab2: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestLatest/localGitRepo (0.00s)
        git_test.go:168: git ls-remote -q /tmp/gitrepo-test-445447254/gitrepo2 in /tmp/gitrepo-test-445447254/gitrepo2: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
--- FAIL: TestReadFile (0.22s)
    --- FAIL: TestReadFile/gitrepo1/latest/README (0.00s)
        git_test.go:222: ReadFile: unexpected error git ls-remote -q origin in /tmp/gitrepo-test-445447254/9eb67b0d3b18a33a522615878a829644b79ce578e17860abee82058182efbab2: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestReadFile/localGitRepo/latest/README (0.00s)
        git_test.go:222: ReadFile: unexpected error git ls-remote -q /tmp/gitrepo-test-445447254/gitrepo2 in /tmp/gitrepo-test-445447254/gitrepo2: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestReadFile/gitrepo1/v2/another.txt (0.00s)
        git_test.go:222: ReadFile: unexpected error unknown revision v2
    --- FAIL: TestReadFile/localGitRepo/v2/another.txt (0.00s)
        git_test.go:222: ReadFile: unexpected error unknown revision v2
    --- FAIL: TestReadFile/gitrepo1/v2.3.4/another.txt (0.00s)
        git_test.go:225: ReadFile: wrong error "unknown revision v2.3.4", want "file does not exist"
    --- FAIL: TestReadFile/localGitRepo/v2.3.4/another.txt (0.00s)
        git_test.go:225: ReadFile: wrong error "unknown revision v2.3.4", want "file does not exist"
--- FAIL: TestReadZip (0.62s)
    --- FAIL: TestReadZip/gitrepo1/v2.3.4/ (0.00s)
        git_test.go:414: ReadZip: unexpected error unknown revision v2.3.4
    --- FAIL: TestReadZip/localGitRepo/v2.3.4/ (0.00s)
        git_test.go:414: ReadZip: unexpected error unknown revision v2.3.4
    --- FAIL: TestReadZip/hgrepo1/v2.3.4/ (0.04s)
        git_test.go:443: ReadZip: unexpected file prefix/.hgtags
        git_test.go:443: ReadZip: unexpected file prefix/dummy
    --- FAIL: TestReadZip/gitrepo1/v2/ (0.00s)
        git_test.go:414: ReadZip: unexpected error unknown revision v2
    --- FAIL: TestReadZip/localGitRepo/v2/ (0.00s)
        git_test.go:414: ReadZip: unexpected error unknown revision v2
    --- FAIL: TestReadZip/hgrepo1/v2/ (0.04s)
        git_test.go:443: ReadZip: unexpected file prefix/dummy
    --- FAIL: TestReadZip/gitrepo1/v3/ (0.00s)
        git_test.go:414: ReadZip: unexpected error unknown revision v3
    --- FAIL: TestReadZip/localGitRepo/v3/ (0.00s)
        git_test.go:414: ReadZip: unexpected error unknown revision v3
    --- FAIL: TestReadZip/hgrepo1/v3/ (0.04s)
        git_test.go:443: ReadZip: unexpected file prefix/dummy
        git_test.go:453: ReadZip: missing file prefix/.hgtags
    --- FAIL: TestReadZip/gitrepo1/v3/v3/sub/dir (0.00s)
        git_test.go:414: ReadZip: unexpected error unknown revision v3
    --- FAIL: TestReadZip/localGitRepo/v3/v3/sub/dir (0.00s)
        git_test.go:414: ReadZip: unexpected error unknown revision v3
    --- FAIL: TestReadZip/gitrepo1/v3/v3/sub (0.00s)
        git_test.go:414: ReadZip: unexpected error unknown revision v3
    --- FAIL: TestReadZip/localGitRepo/v3/v3/sub (0.00s)
        git_test.go:414: ReadZip: unexpected error unknown revision v3
    --- FAIL: TestReadZip/vgotest1/submod/v1.0.4/submod (0.01s)
        git_test.go:414: ReadZip: unexpected error unknown revision submod/v1.0.4
--- FAIL: TestStat (0.39s)
    --- FAIL: TestStat/gitrepo1/HEAD (0.00s)
        git_test.go:586: Stat: unexpected error unknown revision HEAD
    --- FAIL: TestStat/localGitRepo/HEAD (0.00s)
        git_test.go:586: Stat: unexpected error unknown revision HEAD
    --- FAIL: TestStat/gitrepo1/v2 (0.00s)
        git_test.go:586: Stat: unexpected error unknown revision v2
    --- FAIL: TestStat/localGitRepo/v2 (0.00s)
        git_test.go:586: Stat: unexpected error unknown revision v2
    --- FAIL: TestStat/hgrepo1/v2 (0.04s)
        git_test.go:597: Stat: incorrect info
            have {Name:9a4f43d231ec96c4ceb3df5cc5177adc60c62303 Short:9a4f43d231ec Version:9a4f43d231ec96c4ceb3df5cc5177adc60c62303 Time:2018-06-27 16:15:24 +0000 UTC Tags:[]}
            want {Name:8f49ee7a6ddcdec6f0112d9dca48d4a2e4c3c09e Short:8f49ee7a6ddc Version:8f49ee7a6ddcdec6f0112d9dca48d4a2e4c3c09e Time:2018-04-17 20:00:32 +0000 UTC Tags:[v2.0.2]}
    --- FAIL: TestStat/gitrepo1/v2.3.4 (0.00s)
        git_test.go:586: Stat: unexpected error unknown revision v2.3.4
    --- FAIL: TestStat/localGitRepo/v2.3.4 (0.00s)
        git_test.go:586: Stat: unexpected error unknown revision v2.3.4
    --- FAIL: TestStat/hgrepo1/v2.3.4 (0.04s)
        git_test.go:597: Stat: incorrect info
            have {Name:18518c07eb8ed5c80221e997e518cccaa8c0c287 Short:18518c07eb8e Version:18518c07eb8ed5c80221e997e518cccaa8c0c287 Time:2018-06-27 16:16:30 +0000 UTC Tags:[]}
            want {Name:88fde824ec8b41a76baa16b7e84212cee9f3edd0 Short:88fde824ec8b Version:88fde824ec8b41a76baa16b7e84212cee9f3edd0 Time:2018-04-17 19:45:48 +0000 UTC Tags:[v2.0.1 v2.3]}
    --- FAIL: TestStat/gitrepo1/v2.3 (0.00s)
        git_test.go:586: Stat: unexpected error unknown revision v2.3
    --- FAIL: TestStat/localGitRepo/v2.3 (0.00s)
        git_test.go:586: Stat: unexpected error unknown revision v2.3
    --- FAIL: TestStat/gitrepo1/v1.2.3 (0.00s)
        git_test.go:586: Stat: unexpected error unknown revision v1.2.3
    --- FAIL: TestStat/localGitRepo/v1.2.3 (0.00s)
        git_test.go:586: Stat: unexpected error unknown revision v1.2.3
    --- FAIL: TestStat/gitrepo1/ede458df (0.00s)
        git_test.go:586: Stat: unexpected error unknown revision ede458df
    --- FAIL: TestStat/localGitRepo/ede458df (0.00s)
        git_test.go:586: Stat: unexpected error unknown revision ede458df
    --- FAIL: TestStat/gitrepo1/97f6aa59 (0.00s)
        git_test.go:586: Stat: unexpected error unknown revision 97f6aa59
    --- FAIL: TestStat/localGitRepo/97f6aa59 (0.00s)
        git_test.go:586: Stat: unexpected error unknown revision 97f6aa59
    --- FAIL: TestStat/gitrepo1/v1.2.4-annotated (0.00s)
        git_test.go:586: Stat: unexpected error unknown revision v1.2.4-annotated
    --- FAIL: TestStat/localGitRepo/v1.2.4-annotated (0.00s)
        git_test.go:586: Stat: unexpected error unknown revision v1.2.4-annotated
FAIL
FAIL    cmd/go/internal/modfetch/codehost       3.101s
ok      cmd/go/internal/modfile (cached)
?       cmd/go/internal/modget  [no test files]
?       cmd/go/internal/modinfo [no test files]
--- FAIL: TestImport (1.09s)
    --- FAIL: TestImport/golang.org_x_net_context (0.55s)
        import_test.go:55: Import("golang.org/x/net/context"): error "cannot find module providing package golang.org/x/net/context", want error matching `missing module for import: golang.org/x/net@.* provides golang.org/x/net/context`
    --- FAIL: TestImport/golang.org_x_text (0.09s)
        import_test.go:55: Import("golang.org/x/text"): error "cannot find module providing package golang.org/x/text", want error matching `missing module for import: golang.org/x/text@.* provides golang.org/x/text`
    --- FAIL: TestImport/github.com_rsc_quote_buggy (0.35s)
        import_test.go:55: Import("github.com/rsc/quote/buggy"): error "cannot find module providing package github.com/rsc/quote/buggy", want error matching `missing module for import: github.com/rsc/quote@v1.5.2 provides github.com/rsc/quote/buggy`
    --- FAIL: TestImport/github.com_rsc_quote (0.00s)
        import_test.go:55: Import("github.com/rsc/quote"): error "cannot find module providing package github.com/rsc/quote", want error matching `missing module for import: github.com/rsc/quote@v1.5.2 provides github.com/rsc/quote`
go: finding vcs-test.golang.org/git/querytest.git v0.0.1
go: finding vcs-test.golang.org/git/querytest.git v0.0.99
go: finding vcs-test.golang.org/git/querytest.git 6cf84eb
go: finding vcs-test.golang.org/git/querytest.git start
go: finding vcs-test.golang.org/git/querytest.git 7a1b6bf
go: finding vcs-test.golang.org/git/querytest.git/v2 v0.0.1
--- FAIL: TestQuery (1.85s)
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/<v0.0.0/* (0.46s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git", "<v0.0.0", *): git ls-remote -q origin in /tmp/modload-test-551342171/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/<v0.0.0-pre1/* (0.00s)
        query_test.go:141: Query("vcs-test.golang.org/git/querytest.git", "<v0.0.0-pre1", *): git ls-remote -q origin in /tmp/modload-test-551342171/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>..., want error "no matching versions for query \"<v0.0.0-pre1\""
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/<=v0.0.0/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git", "<=v0.0.0", *): git ls-remote -q origin in /tmp/modload-test-551342171/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/>v0.0.0/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git", ">v0.0.0", *): git ls-remote -q origin in /tmp/modload-test-551342171/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/>=v0.0.0/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git", ">=v0.0.0", *): git ls-remote -q origin in /tmp/modload-test-551342171/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/v0.0.1/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git", "v0.0.1", *): unknown revision v0.0.1
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/v0.0.1+foo/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git", "v0.0.1+foo", *): unknown revision v0.0.1
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/v0/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git", "v0", *): git ls-remote -q origin in /tmp/modload-test-551342171/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/v0.1/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git", "v0.1", *): git ls-remote -q origin in /tmp/modload-test-551342171/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/v0.2/* (0.00s)
        query_test.go:141: Query("vcs-test.golang.org/git/querytest.git", "v0.2", *): git ls-remote -q origin in /tmp/modload-test-551342171/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>..., want error "no matching versions for query \"v0.2\""
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/v0.0/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git", "v0.0", *): git ls-remote -q origin in /tmp/modload-test-551342171/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/latest/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git", "latest", *): git ls-remote -q origin in /tmp/modload-test-551342171/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/latest/NOMATCH (0.00s)
        query_test.go:141: Query("vcs-test.golang.org/git/querytest.git", "latest", NOMATCH): git ls-remote -q origin in /tmp/modload-test-551342171/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>..., want error "no matching versions for query \"latest\""
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/>v1.9.9/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git", ">v1.9.9", *): git ls-remote -q origin in /tmp/modload-test-551342171/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/>v1.10.0/* (0.00s)
        query_test.go:141: Query("vcs-test.golang.org/git/querytest.git", ">v1.10.0", *): git ls-remote -q origin in /tmp/modload-test-551342171/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>..., want error "no matching versions for query \">v1.10.0\""
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/>=v1.10.0/* (0.00s)
        query_test.go:141: Query("vcs-test.golang.org/git/querytest.git", ">=v1.10.0", *): git ls-remote -q origin in /tmp/modload-test-551342171/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>..., want error "no matching versions for query \">=v1.10.0\""
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/6cf84eb/* (0.40s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git", "6cf84eb", *): unknown revision 6cf84eb
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/start/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git", "start", *): unknown revision start
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git/7a1b6bf/* (0.01s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git", "7a1b6bf", *): unknown revision 7a1b6bf
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git_v2/<v0.0.0/* (0.23s)
        query_test.go:141: Query("vcs-test.golang.org/git/querytest.git/v2", "<v0.0.0", *): git ls-remote -q origin in /tmp/modload-test-551342171/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>..., want error "no matching versions for query \"<v0.0.0\""
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git_v2/<=v0.0.0/* (0.00s)
        query_test.go:141: Query("vcs-test.golang.org/git/querytest.git/v2", "<=v0.0.0", *): git ls-remote -q origin in /tmp/modload-test-551342171/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>..., want error "no matching versions for query \"<=v0.0.0\""
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git_v2/>v0.0.0/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git/v2", ">v0.0.0", *): git ls-remote -q origin in /tmp/modload-test-551342171/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git_v2/>=v0.0.0/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git/v2", ">=v0.0.0", *): git ls-remote -q origin in /tmp/modload-test-551342171/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git_v2/v0.0.1+foo/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git/v2", "v0.0.1+foo", *): unknown revision v0.0.1
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git_v2/latest/* (0.00s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git/v2", "latest", *): git ls-remote -q origin in /tmp/modload-test-551342171/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestQuery/vcs-test.golang.org_git_querytest.git_v3/latest/* (0.23s)
        query_test.go:144: Query("vcs-test.golang.org/git/querytest.git/v3", "latest", *): git ls-remote -q origin in /tmp/modload-test-551342171/codework/ef6fa3a96cf9887c08fb320e75aff8d9798d3c7582770fe448e3e83ca7289acd: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestQuery/vcs-test.golang.org_git_emptytest.git/latest/* (0.52s)
        query_test.go:144: Query("vcs-test.golang.org/git/emptytest.git", "latest", *): git ls-remote -q origin in /tmp/modload-test-551342171/codework/b2036c22b1459c8b0c5bd7b1c927425e115d01c72268fd0f860b00ebfbd27d71: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>...
    --- FAIL: TestQuery/vcs-test.golang.org_git_emptytest.git/>v0.0.0/* (0.00s)
        query_test.go:141: Query("vcs-test.golang.org/git/emptytest.git", ">v0.0.0", *): git ls-remote -q origin in /tmp/modload-test-551342171/codework/b2036c22b1459c8b0c5bd7b1c927425e115d01c72268fd0f860b00ebfbd27d71: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>..., want error "no matching versions for query \">v0.0.0\""
    --- FAIL: TestQuery/vcs-test.golang.org_git_emptytest.git/<v10.0.0/* (0.00s)
        query_test.go:141: Query("vcs-test.golang.org/git/emptytest.git", "<v10.0.0", *): git ls-remote -q origin in /tmp/modload-test-551342171/codework/b2036c22b1459c8b0c5bd7b1c927425e115d01c72268fd0f860b00ebfbd27d71: exit status 129:
                usage: git ls-remote [--heads] [--tags]  [-u <exec> | --upload-pack <exec>] <repository> <refs>..., want error "no matching versions for query \"<v10.0.0\""
FAIL
FAIL    cmd/go/internal/modload 2.962s
ok      cmd/go/internal/module  (cached)
ok      cmd/go/internal/mvs     (cached)
ok      cmd/go/internal/par     (cached)
?       cmd/go/internal/renameio        [no test files]
?       cmd/go/internal/run     [no test files]
ok      cmd/go/internal/search  (cached)
ok      cmd/go/internal/semver  (cached)
?       cmd/go/internal/str     [no test files]
?       cmd/go/internal/test    [no test files]
?       cmd/go/internal/tool    [no test files]
ok      cmd/go/internal/txtar   (cached)
?       cmd/go/internal/version [no test files]
?       cmd/go/internal/vet     [no test files]
?       cmd/go/internal/web     [no test files]
ok      cmd/go/internal/web2    (cached)
?       cmd/go/internal/webtest [no test files]
ok      cmd/go/internal/work    (cached)

@thepudds
Copy link
Contributor

thepudds commented Apr 28, 2019

I wanted to get a view of what might be a sensible cut-off for a minimum supported git version based on what modules users are using in practice.

Based on spending a couple of hours on this today, my observations included:

  1. A large number of complaints about git versions >= 2.7.4 not working.

    • As far as I am aware, these were all were subsquently resolved.
  2. A small number of complaints about 1.x git versions not working, such as 1.7.1, 1.7.2, 1.7.x, 1.9.1.

    • As far as I am aware, these were not resolved, aside from workarounds like asking people to upgrade their versions of git, which seems to have at least reduced the noise level around these 1.x versions of git.
  3. No complaints about git versions in the range > 1.9.1 and < 2.7.4.

Just because I found no complaints for a version range does not mean there were no complaints, but that sampling of results might suggest where the largest weight might be.

I ended up reading a small number of older issues carefully, and skimming comments from a larger set of issues:

  • I went back to an older snapshot of the Modules wiki. During vgo and 1.11 beta/rc phase, the wiki had been tracking a set of common issues people were frequently hitting due to older versions of git.
  • In order to cast a broader net, I then also ran some regexes against GitHub comments via maintner to try to find comments mentioning git versions.

Here is a programatically generated list of mentions of git versions from comments in issues with the modules tag. This is surely an incomplete view, but might at least give a flavor:

44 mentions of git versions across 16 issues

This list was programatically generated, and then a small number of false positives were then manually pruned.

@joegrasse
Copy link

While I am sure you don't want a bunch of people saying which distro they use, I will call out mine since it was questioned above. My company currently is developing and deploying on CentOS/Redhat 6, because of its long term stability.

Also from a developers perspective, It would be a lot easier to see which OSes are supported period, rather than which is supported for development vs deployment.

@gopherbot
Copy link
Contributor

Change https://golang.org/cl/191978 mentions this issue: cmd/go/internal/get: remove '--' separator from 'git ls-remote' command

gopherbot pushed a commit that referenced this issue Aug 27, 2019
'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.

Fixes #33836
Updates #26746

Change-Id: Ibb53366b95f8029b587e0b7646a439330d759ac7
Reviewed-on: https://go-review.googlesource.com/c/go/+/191978
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
tomocy pushed a commit to tomocy/go that referenced this issue Sep 1, 2019
'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.

Fixes golang#33836
Updates golang#26746

Change-Id: Ibb53366b95f8029b587e0b7646a439330d759ac7
Reviewed-on: https://go-review.googlesource.com/c/go/+/191978
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
t4n6a1ka pushed a commit to t4n6a1ka/go that referenced this issue Sep 5, 2019
'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.

Fixes golang#33836
Updates golang#26746

Change-Id: Ibb53366b95f8029b587e0b7646a439330d759ac7
Reviewed-on: https://go-review.googlesource.com/c/go/+/191978
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
@rsc rsc modified the milestones: Go1.14, Backlog Oct 9, 2019
@bcmills
Copy link
Contributor Author

bcmills commented Feb 24, 2022

Maybe we should define which Linux distros we support and then it's implied which git versions we need to support.

I've been thinking about this some more (in the context of #51253). Our own release policy doesn't determine which Go releases we support based on the (much older) versions that Linux distros choose to ship; we expect users to upgrade to a supported Go version if they run into trouble.

Why should we not expect the same of the rest of their development environment? If users are running ancient versions of other parts of the development toolchain — perhaps with third-party security patches — can't they also run third-party-patched ancient versions of the Go toolchain to match?

According to the table at https://en.wikipedia.org/wiki/Git#Releases (and supported by the tags shown at https://github.com/git/git), Git 2.17 received a patch release last year (2.17.6, tagged 2021-03-09), whereas Git 2.16 was last tagged over two years ago (2.16.6, tagged 2019-12-07). The 2.17.6 release was presumably for CVE-2021-21300, for which “the earliest impacted version is 2.14.2”. Since there were no mainline patch releases tagged for that issue for Git 2.14 through 2.16, I infer that those minor releases are no longer supported upstream.

It has been suggested above that we use CentOS as the baseline for supported development environments, but it's not even clear to me which CentOS versions we should be considering. According to the CentOS wiki page, CentOS 7 stopped receiving “full updates” in August 2020, although it continues to receive “maintenance updates” through June 2024. And although @bradfitz filed #29114 to add a CentOS builder in December 2018, that still hasn't happened either — so actually supporting Go on CentOS 7 would require additional development overhead, since we can't just spin up a gomote to test a potential fix.

@bcmills
Copy link
Contributor Author

bcmills commented Jun 28, 2022

We do not currently have a builder with Git version 1, and the documentation at https://git-scm.com/docs seems to only go back as far as 2.10.5.

Lacking both a builder and documentation, I plan to adhere to the following policy:

  1. The git version that we will actively support in cmd/go is the oldest version for which the Go project has a builder, but we will accept changes to fix older versions provided that those changes can refer to reliable documentation for the version being fixed.
    • We do not guarantee that the fixes for older-than-supported versions will not regress.
  2. In order to avoid known Git CVEs (particularly when debugging via gomote), new Go builders that have a git binary should be upgraded to at least Git 2.17.6.

@rsc rsc changed the title proposal: doc/install: define minimum supported VCS versions doc/install: define minimum supported VCS versions Aug 5, 2022
@dmitris
Copy link
Contributor

dmitris commented Feb 9, 2023

just to note, go tool no longer works on RHEL7 / CentOS7 because it has git version 1.8.3.1 by default. RHEL7 is on the "Maintenance Support 2 Phase" by RedHat until June 30, 2024. Probably some Go users in some corporate environments would love to be able to use go until that date without having to take extra steps to install git-2.x from RHSCL [3] 😄 .

[1] https://access.redhat.com/support/policy/updates/errata#Maintenance_Support_2_Phase
[2] https://access.redhat.com/support/policy/updates/errata#Life_Cycle_Dates
[3] https://access.redhat.com/solutions/2075603

scbizu added a commit to ezbuy/ezorm that referenced this issue Feb 21, 2023
scbizu added a commit to ezbuy/ezorm that referenced this issue Feb 21, 2023
scbizu added a commit to ezbuy/ezorm that referenced this issue Feb 21, 2023
* ci: pin go version to support 1.19 and 1.20

* make: disable buildvcs

See golang/go#26746
scbizu added a commit to ezbuy/ezorm that referenced this issue Feb 21, 2023
* ci: pin go version to support 1.19 and 1.20

* make: disable buildvcs

See golang/go#26746
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests