]> Cypherpunks repositories - gostls13.git/commit
cmd/go: fix module get -u to avoid spurious new deps
authorRuss Cox <rsc@golang.org>
Thu, 19 Jul 2018 00:08:04 +0000 (20:08 -0400)
committerRuss Cox <rsc@golang.org>
Fri, 20 Jul 2018 15:30:41 +0000 (15:30 +0000)
commit0b23c88d9f908aa09c7e35ec339b3678f9dcf5fc
treee471d380b42011da0af3337ecd55fb0d55a90ffd
parenteab8208687bf6dbea0ca36e2dabe84d2a51f252b
cmd/go: fix module get -u to avoid spurious new deps

If we have go get -u x1@v1 x2@v2 and x1 depends on x2,
use v2 as the "upgraded" x2 chosen by -u  instead of
letting -u pick something (say, v2.1) and then immediately
overriding it. This avoids chasing down the deps from v2.1
and also avoids them polluting the overall module graph.

This fix also lets us delete some code in the preparation step,
reducing the overall latency of get -u.

Suggested by Bryan Mills in
https://go-review.googlesource.com/c/vgo/+/122396/6#371.

Fixes #26342.

Change-Id: I50fa842304820d3f16f66a8e65dea695e2b0f88b
Reviewed-on: https://go-review.googlesource.com/124856
Reviewed-by: Bryan C. Mills <bcmills@google.com>
src/cmd/go/internal/modget/get.go
src/cmd/go/testdata/script/mod_get_downgrade.txt