aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/go/internal/modload/query.go
diff options
context:
space:
mode:
authorBryan C. Mills <bcmills@google.com>2019-06-24 12:29:28 -0400
committerBryan C. Mills <bcmills@google.com>2019-06-25 13:27:07 +0000
commite28f0d92991e60ac3174b2ebf224f37be22c8fad (patch)
tree60314d8f8f87ad0ad415ea1a71f21b12abaf313a /src/cmd/go/internal/modload/query.go
parentdf901bce5ed71132f5837b513663fec889d82731 (diff)
downloadgo-e28f0d92991e60ac3174b2ebf224f37be22c8fad.tar.gz
go-e28f0d92991e60ac3174b2ebf224f37be22c8fad.zip
cmd/go/internal/modfetch: return structured errors from proxy operations
CL 181881 added structured error types for direct fetches. Use those same structured errors to format proxy errors consistently. Also ensure that an empty @v/list is treated as equivalent to the module not existing at all. Updates #27173 Updates #32715 Change-Id: I203fd8259bc4f28b3389745f1a1fde936b0fa24d Reviewed-on: https://go-review.googlesource.com/c/go/+/183619 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/cmd/go/internal/modload/query.go')
-rw-r--r--src/cmd/go/internal/modload/query.go9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/cmd/go/internal/modload/query.go b/src/cmd/go/internal/modload/query.go
index 1e55992777..8ce61c0a1d 100644
--- a/src/cmd/go/internal/modload/query.go
+++ b/src/cmd/go/internal/modload/query.go
@@ -243,8 +243,13 @@ func queryProxy(proxy, path, query, current string, allowed func(module.Version)
if mayUseLatest {
// Special case for "latest": if no tags match, use latest commit in repo,
// provided it is not excluded.
- if latest, err := repo.Latest(); err == nil && allowed(module.Version{Path: path, Version: latest.Version}) {
- return lookup(latest.Version)
+ latest, err := repo.Latest()
+ if err == nil {
+ if allowed(module.Version{Path: path, Version: latest.Version}) {
+ return lookup(latest.Version)
+ }
+ } else if !errors.Is(err, os.ErrNotExist) {
+ return nil, err
}
}