]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: recommend 'go get' command to switch from retracted versions
authorJay Conrod <jayconrod@google.com>
Fri, 20 Nov 2020 16:18:15 +0000 (11:18 -0500)
committerJay Conrod <jayconrod@google.com>
Fri, 20 Nov 2020 17:35:55 +0000 (17:35 +0000)
This CL restores a message unintentionally removed in CL 270858.

For #24031

Change-Id: I957c5c59e624df98e72dfff351298bfc5bf9a9e7
Reviewed-on: https://go-review.googlesource.com/c/go/+/272066
Trust: Jay Conrod <jayconrod@google.com>
Run-TryBot: Jay Conrod <jayconrod@google.com>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Go Bot <gobot@golang.org>

src/cmd/go/internal/modget/get.go
src/cmd/go/testdata/script/mod_get_retract.txt

index 2413fd20bcf96c535f27efec28610cc50ac021af..ecb014252434a32d8c267139f79925d45386253a 100644 (file)
@@ -1567,11 +1567,20 @@ func (r *resolver) checkPackagesAndRetractions(ctx context.Context, pkgPatterns
                })
        }
        <-r.work.Idle()
+       var retractPath string
        for _, r := range retractions {
                if r.err != nil {
                        fmt.Fprintf(os.Stderr, "go: warning: %v\n", r.err)
+                       if retractPath == "" {
+                               retractPath = r.m.Path
+                       } else {
+                               retractPath = "<module>"
+                       }
                }
        }
+       if retractPath != "" {
+               fmt.Fprintf(os.Stderr, "go: run 'go get %s@latest' to switch to the latest unretracted version\n", retractPath)
+       }
 }
 
 // reportChanges logs version changes to os.Stderr.
index 13a47bc359d9f0b1a2d599f20046b9065166dc42..6e328eb5929292994e18cc2cd6b5b1bd0631eb6c 100644 (file)
@@ -11,6 +11,7 @@ cp go.mod.orig go.mod
 go mod edit -require example.com/retract/self/prev@v1.9.0
 go get -d example.com/retract/self/prev
 stderr '^go: warning: example.com/retract/self/prev@v1.9.0: retracted by module author: self$'
+stderr '^go: run ''go get example.com/retract/self/prev@latest'' to switch to the latest unretracted version$'
 go list -m example.com/retract/self/prev
 stdout '^example.com/retract/self/prev v1.9.0$'