diff options
| author | Bryan C. Mills <bcmills@google.com> | 2020-01-09 09:39:48 -0500 |
|---|---|---|
| committer | Bryan C. Mills <bcmills@google.com> | 2020-01-09 17:52:05 +0000 |
| commit | cec535b7b747cee83b5ab285887f3fd2dcebdc1b (patch) | |
| tree | dbf696fc5afbe3e618ab018b2ecbb9d916b27231 /src | |
| parent | 957259b7e2c40cf9955469ce93b35bdc0289e942 (diff) | |
| download | go-cec535b7b747cee83b5ab285887f3fd2dcebdc1b.tar.xz | |
cmd/go/internal/modload: do not disable Query for -mod=readonly
'go list -m' allows explicit module@version arguments,
which it resolves (using Query) but does not add to the build list.
Similarly, 'go list -u' resolves versions without modifying the build list.
These explicit operations should be allowed even when '-mod=readonly' is set.
Updates #36478
'go list' and 'go mod download' do not
Change-Id: I5d2735729ad573635b9c1902d5d3a8bd960b8a76
Reviewed-on: https://go-review.googlesource.com/c/go/+/214077
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Jay Conrod <jayconrod@google.com>
Diffstat (limited to 'src')
| -rw-r--r-- | src/cmd/go/internal/modload/query.go | 2 | ||||
| -rw-r--r-- | src/cmd/go/testdata/script/mod_readonly.txt | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/cmd/go/internal/modload/query.go b/src/cmd/go/internal/modload/query.go index 53278b9100..031e45938a 100644 --- a/src/cmd/go/internal/modload/query.go +++ b/src/cmd/go/internal/modload/query.go @@ -79,7 +79,7 @@ func queryProxy(proxy, path, query, current string, allowed func(module.Version) if current != "" && !semver.IsValid(current) { return nil, fmt.Errorf("invalid previous version %q", current) } - if cfg.BuildMod != "" && cfg.BuildMod != "mod" { + if cfg.BuildMod == "vendor" { return nil, errQueryDisabled } if allowed == nil { diff --git a/src/cmd/go/testdata/script/mod_readonly.txt b/src/cmd/go/testdata/script/mod_readonly.txt index 1d1771e9cc..77fc735d57 100644 --- a/src/cmd/go/testdata/script/mod_readonly.txt +++ b/src/cmd/go/testdata/script/mod_readonly.txt @@ -34,6 +34,11 @@ go list all go clean -modcache go list all +# -mod=readonly must not cause 'go list -m' to fail. +# (golang.org/issue/36478) +go list -m all +! stderr 'cannot query module' + # -mod=readonly should reject inconsistent go.mod files # (ones that would be rewritten). go mod edit -require rsc.io/sampler@v1.2.0 |
