From: Russ Cox Date: Wed, 18 Jul 2018 20:18:29 +0000 (-0400) Subject: cmd/go/internal/modget: fix get pkg@none X-Git-Tag: go1.11beta2~17 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=9039c2c0bfc0c55e93756d9391fc71f13e87fcda;p=gostls13.git 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 --- 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