From: Baokun Lee Date: Fri, 13 Jul 2018 20:17:19 +0000 (+0800) Subject: cmd/go: fix module replace flag parsed bug X-Git-Tag: go1.11beta2~107 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=00f32fbe7ab053f67e255d1350a34e05b07a6ad6;p=gostls13.git cmd/go: fix module replace flag parsed bug In CL 122404, we change -replace syntax from => to =. And we also need to change this and the tests. Fixes golang/go#26373. Change-Id: I2d4e85e10c1578540cc7673b93d849270940d776 Reviewed-on: https://go-review.googlesource.com/123778 Reviewed-by: Bryan C. Mills Run-TryBot: Bryan C. Mills --- diff --git a/src/cmd/go/internal/modcmd/mod.go b/src/cmd/go/internal/modcmd/mod.go index d8ae1d95ac..ddf5000dd8 100644 --- a/src/cmd/go/internal/modcmd/mod.go +++ b/src/cmd/go/internal/modcmd/mod.go @@ -400,7 +400,7 @@ func flagReplace(arg string) { if i = strings.Index(arg, "="); i < 0 { base.Fatalf("go mod: -replace=%s: need old@v=new[@v] (missing =)", arg) } - old, new := strings.TrimSpace(arg[:i]), strings.TrimSpace(arg[i+2:]) + old, new := strings.TrimSpace(arg[:i]), strings.TrimSpace(arg[i+1:]) if strings.HasPrefix(new, ">") { base.Fatalf("go mod: -replace=%s: separator between old and new is =, not =>", arg) } diff --git a/src/cmd/go/mod_test.go b/src/cmd/go/mod_test.go index f3dc64cc37..6cd9f8a948 100644 --- a/src/cmd/go/mod_test.go +++ b/src/cmd/go/mod_test.go @@ -383,8 +383,8 @@ func TestModEdit(t *testing.T) { "-droprequire=x.2", "-exclude=x.1 @ v1.2.0", "-exclude=x.1@v1.2.1", - "-replace=x.1@v1.3.0=>y.1@v1.4.0", - "-replace=x.1@v1.4.0 => ../z", + "-replace=x.1@v1.3.0=y.1@v1.4.0", + "-replace=x.1@v1.4.0 = ../z", ) mustHaveGoMod(`module x.x/y/z @@ -451,8 +451,8 @@ require x.3 v1.99.0 } tg.run("mod", - "-replace=x.1@v1.3.0=>y.1/v2@v2.3.5", - "-replace=x.1@v1.4.0=>y.1/v2@v2.3.5", + "-replace=x.1@v1.3.0=y.1/v2@v2.3.5", + "-replace=x.1@v1.4.0=y.1/v2@v2.3.5", ) mustHaveGoMod(`module x.x/y/z @@ -466,7 +466,7 @@ replace ( require x.3 v1.99.0 `) tg.run("mod", - "-replace=x.1=>y.1/v2@v2.3.6", + "-replace=x.1=y.1/v2@v2.3.6", ) mustHaveGoMod(`module x.x/y/z