From: Kyle Wood Date: Fri, 16 Nov 2018 16:46:14 +0000 (-0600) Subject: cmd/go: disallow version string in go mod init module path X-Git-Tag: go1.12beta1~131 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=179909f20556262422a8b99c059eacdfcebc48ee;p=gostls13.git cmd/go: disallow version string in go mod init module path 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 TryBot-Result: Gobot Gobot Reviewed-by: Bryan C. Mills --- diff --git a/src/cmd/go/internal/modcmd/init.go b/src/cmd/go/internal/modcmd/init.go index f510a46262..0f7421e584 100644 --- a/src/cmd/go/internal/modcmd/init.go +++ b/src/cmd/go/internal/modcmd/init.go @@ -10,6 +10,7 @@ import ( "cmd/go/internal/base" "cmd/go/internal/modload" "os" + "strings" ) var cmdInit = &base.Command{ @@ -37,5 +38,8 @@ func runInit(cmd *base.Command, args []string) { 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 }