mirror of
https://github.com/golang/go
synced 2024-11-18 12:44:49 -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
|
notExistErr = rErr
|
||||||
}
|
}
|
||||||
} else if err == nil {
|
} else if err == nil {
|
||||||
if len(found) > 0 {
|
if len(found) > 0 || noPackage != nil {
|
||||||
// golang.org/issue/34094: If we have already found a module
|
// golang.org/issue/34094: If we have already found a module that
|
||||||
// containing the target package, ignore errors for modules with
|
// could potentially contain the target package, ignore unclassified
|
||||||
// shorter paths.
|
// errors for modules with shorter paths.
|
||||||
|
|
||||||
// golang.org/issue/34383 is a special case of this: if we have
|
// 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
|
// 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
|
go list -m vcs-test.golang.org/git/v3pkg.git/v3
|
||||||
stdout '^vcs-test.golang.org/git/v3pkg.git/v3 v3.0.0$'
|
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 --
|
-- go.mod --
|
||||||
module example.com
|
module example.com
|
||||||
go 1.13
|
go 1.13
|
||||||
|
Loading…
Reference in New Issue
Block a user