To prevent confusion, go mod init should not allow version strings in
the module path when provided as an argument. Instead, fail with a
useful error message.
Fixes #28803
Change-Id: I59272a91b042e32cef33c2e2116f760ca1def218
Reviewed-on: https://go-review.googlesource.com/c/150018
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
"cmd/go/internal/base"
"cmd/go/internal/modload"
"os"
+ "strings"
)
var cmdInit = &base.Command{
if _, err := os.Stat("go.mod"); err == nil {
base.Fatalf("go mod init: go.mod already exists")
}
+ if strings.Contains(modload.CmdModModule, "@") {
+ base.Fatalf("go mod init: module path must not contain '@'")
+ }
modload.InitMod() // does all the hard work
}