aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2018-07-18 16:18:29 -0400
committerRuss Cox <rsc@golang.org>2018-07-19 18:15:38 +0000
commit9039c2c0bfc0c55e93756d9391fc71f13e87fcda (patch)
tree8f8a4dd993fa30795e584f54e75858225ff09ab8
parent269a93823c68ca4ac7e7f9e60b0dc3731fc9f6b9 (diff)
downloadgo-9039c2c0bfc0c55e93756d9391fc71f13e87fcda.tar.gz
go-9039c2c0bfc0c55e93756d9391fc71f13e87fcda.zip
cmd/go/internal/modget: fix get pkg@none
Now pkg@none actually removes the pkg instead of dying. For #26342. Change-Id: I9df7281ed8fd24480109b36f33a563f92e279244 Reviewed-on: https://go-review.googlesource.com/124796 Reviewed-by: Bryan C. Mills <bcmills@google.com>
-rw-r--r--src/cmd/go/internal/modget/get.go9
-rw-r--r--src/cmd/go/testdata/script/mod_get_downgrade.txt11
2 files changed, 14 insertions, 6 deletions
diff --git a/src/cmd/go/internal/modget/get.go b/src/cmd/go/internal/modget/get.go
index 4f97dbb0ce..1fd697048b 100644
--- a/src/cmd/go/internal/modget/get.go
+++ b/src/cmd/go/internal/modget/get.go
@@ -356,16 +356,17 @@ func runGet(cmd *base.Command, args []string) {
}
lookup.Do(10, func(item interface{}) {
t := item.(*task)
+ if t.vers == "none" {
+ // Wait for downgrade step.
+ t.m = module.Version{Path: t.path, Version: "none"}
+ return
+ }
m, err := getQuery(t.path, t.vers, t.forceModulePath)
if err != nil {
base.Errorf("go get %v: %v", t.arg, err)
return
}
t.m = m
- if t.vers == "none" {
- // Wait for downgrade step.
- return
- }
// If there is no -u, then we don't need to upgrade the
// collected requirements separately from the overall
// recalculation of the build list (modload.ReloadBuildList below),
diff --git a/src/cmd/go/testdata/script/mod_get_downgrade.txt b/src/cmd/go/testdata/script/mod_get_downgrade.txt
index e953ac5331..e687403bd9 100644
--- a/src/cmd/go/testdata/script/mod_get_downgrade.txt
+++ b/src/cmd/go/testdata/script/mod_get_downgrade.txt
@@ -1,8 +1,15 @@
env GO111MODULE=on
-go get rsc.io/quote@v2.0.0
+# downgrade sampler should downgrade quote
+go get rsc.io/sampler@v1.0.0
go list -m all
-stdout 'rsc.io/quote v0.0.0-'
+stdout 'rsc.io/quote v1.4.0'
+stdout 'rsc.io/sampler v1.0.0'
+
+# downgrade sampler away should downgrade quote further
+go get rsc.io/sampler@none
+go list -m all
+stdout 'rsc.io/quote v1.3.0'
-- go.mod --
module x