diff options
author | Russ Cox <rsc@golang.org> | 2018-07-18 16:18:29 -0400 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2018-07-19 18:15:38 +0000 |
commit | 9039c2c0bfc0c55e93756d9391fc71f13e87fcda (patch) | |
tree | 8f8a4dd993fa30795e584f54e75858225ff09ab8 | |
parent | 269a93823c68ca4ac7e7f9e60b0dc3731fc9f6b9 (diff) | |
download | go-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.go | 9 | ||||
-rw-r--r-- | src/cmd/go/testdata/script/mod_get_downgrade.txt | 11 |
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 |