]> Cypherpunks.ru repositories - gostls13.git/commit
cmd/go: retain extra roots to disambiguate imports in 'go mod tidy'
authorBryan C. Mills <bcmills@google.com>
Sat, 20 May 2023 02:35:33 +0000 (22:35 -0400)
committerGopher Robot <gobot@golang.org>
Mon, 22 May 2023 21:07:10 +0000 (21:07 +0000)
commit2ed6a54a39339ca37e9da4530b3f37a9d29b7c84
treecec20afe4e9fcb6c86700a87d27f69af9d302192
parent53e0616c13ca6b4da472eb4e9b2cba397b51b253
cmd/go: retain extra roots to disambiguate imports in 'go mod tidy'

We don't normally keep explicit requirements for test dependencies of
packages loaded from other modules when the required version is
already the selected version in the module graph. However, in some
cases we may need to keep an explicit requirement in order to make use
of lazy module loading to disambiguate an otherwise-ambiguous import.

Note that there is no Go version guard for this change: in the cases
where the behavior of 'go mod tidy' has changed, previous versions of
Go would produce go.mod files that break successive calls to
'go mod tidy'. Given that, I suspect that any existing user in the
wild affected by this bug either already has a workaround in place
using redundant import statements (in which case the change does not
affect them) or is running 'go mod tidy -e' to force past the error
(in which case a change in behavior to a non-error should not be
surprising).

Fixes #60313.

Change-Id: Idf294f72cbe3904b871290d79e4493595a0c7bfc
Reviewed-on: https://go-review.googlesource.com/c/go/+/496635
Auto-Submit: Bryan Mills <bcmills@google.com>
Run-TryBot: Bryan Mills <bcmills@google.com>
Reviewed-by: Russ Cox <rsc@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
src/cmd/go/internal/modload/buildlist.go
src/cmd/go/testdata/script/mod_tidy_issue60313.txt