mirror of
https://github.com/golang/go
synced 2024-11-18 12:14:42 -07:00
cmd/go: suppress more errors in package-to-module loading
In CL 197059, I suppressed errors if the target package was already found. However, that does not cover the case of passing a '/v2' module path to 'go get' when the module does not contain a package at its root. This CL is a minimal fix for that case, intended to be backportable to 1.13. (Longer term, I intend to rework the version-validation check to treat all mismatched paths as ErrNotExist.) Fixes #34746 Updates #34383 Change-Id: Ia963c2ea00fae424812b8f46a4d6c2c668252147 Reviewed-on: https://go-review.googlesource.com/c/go/+/199839 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>
This commit is contained in:
parent
0b204f958e
commit
421d35cf69
@ -472,10 +472,10 @@ func queryPrefixModules(candidateModules []string, queryModule func(path string)
|
||||
notExistErr = rErr
|
||||
}
|
||||
} else if err == nil {
|
||||
if len(found) > 0 {
|
||||
// golang.org/issue/34094: If we have already found a module
|
||||
// containing the target package, ignore errors for modules with
|
||||
// shorter paths.
|
||||
if len(found) > 0 || noPackage != nil {
|
||||
// golang.org/issue/34094: If we have already found a module that
|
||||
// could potentially contain the target package, ignore unclassified
|
||||
// errors for modules with shorter paths.
|
||||
|
||||
// golang.org/issue/34383 is a special case of this: if we have
|
||||
// already found example.com/foo/v2@v2.0.0 with a matching go.mod
|
||||
|
5
src/cmd/go/testdata/script/mod_get_major.txt
vendored
5
src/cmd/go/testdata/script/mod_get_major.txt
vendored
@ -13,6 +13,11 @@ go get -d vcs-test.golang.org/git/v3pkg.git/v3@v3.0.0
|
||||
go list -m vcs-test.golang.org/git/v3pkg.git/v3
|
||||
stdout '^vcs-test.golang.org/git/v3pkg.git/v3 v3.0.0$'
|
||||
|
||||
go get -d vcs-test.golang.org/git/empty-v2-without-v1.git/v2@v2.0.0
|
||||
|
||||
go list -m vcs-test.golang.org/git/empty-v2-without-v1.git/v2
|
||||
stdout '^vcs-test.golang.org/git/empty-v2-without-v1.git/v2 v2.0.0$'
|
||||
|
||||
-- go.mod --
|
||||
module example.com
|
||||
go 1.13
|
||||
|
Loading…
Reference in New Issue
Block a user