cmd/go/internal/modfetch: fix conversion of legacy v2 versions If a legacy requirement file (for example Gopkg.lock) lists a package x.com/y/z at version v2.0.0, we assume that is not a module-aware package, so it should be addressed as a pseudo-version v0.0.0-date-hash. But the converter was allowing the v2.0.0 through, which then failed the next time vgo was invoked. This CL rejects during conversion (meaning they turn into pseudo-versions) any versions that don't match the expected major version for the given module path. Fixes golang/go#24056. Fixes golang/go#24585. Change-Id: Ib2c9ea31d2581fd55cae32e8c89c3587bd658a60 Reviewed-on: https://go-review.googlesource.com/107660 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
This repository holds a prototype of what the go command might look like with integrated support for package versioning.
See research.swtch.com/vgo for documents about the design.
Use go get -u golang.org/x/vgo.
You can also manually git clone the repository to $GOPATH/src/golang.org/x/vgo.
See CONTRIBUTING.md.
This is still a very early prototype. You are likely to run into bugs. Please file bugs in the main Go issue tracker, golang.org/issue, and put the prefix x/vgo: in the issue title.
Thank you.