]> Cypherpunks.ru repositories - gostls13.git/commit
cmd/go/internal/gover: add new Go version package
authorRuss Cox <rsc@golang.org>
Sat, 20 May 2023 20:53:13 +0000 (16:53 -0400)
committerGopher Robot <gobot@golang.org>
Tue, 23 May 2023 16:31:25 +0000 (16:31 +0000)
commit6c024a4cf13f66b9a65616491340b33e0f7b099d
treee959951505977bcb704f0afa1f14b94c684d00c0
parent5ffdc1f15c66f4f31124a43c4bd9de94b9131e15
cmd/go/internal/gover: add new Go version package

Clean up Go version comparison.

CL 494436 added an ad hoc version comparison for the toolchain switch.

There are also other version comparisons scattered throughout the code,
assuming that using semver.Compare with a "v" prefix gives the right answer.
As we start to allow versions like "go 1.21rc1" in the go.mod file,
those comparisons will not work properly.

A future CL will need to inject Go versions into semver for use with MVS,
so do what Bryan suggested in the review of CL 494436 and rewrite the
comparison in terms of that conversion.

For #57001.

Change-Id: Ia1d441f1bc259874c6c1b3b9349bdf9823a707d4
Reviewed-on: https://go-review.googlesource.com/c/go/+/496735
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Auto-Submit: Russ Cox <rsc@golang.org>
Reviewed-by: Bryan Mills <bcmills@google.com>
23 files changed:
src/cmd/go/go_test.go
src/cmd/go/gotoolchain.go
src/cmd/go/gotoolchain_port.go [deleted file]
src/cmd/go/gotoolchain_test.go [deleted file]
src/cmd/go/internal/gover/gomod.go [new file with mode: 0644]
src/cmd/go/internal/gover/gover.go [new file with mode: 0644]
src/cmd/go/internal/gover/gover_test.go [new file with mode: 0644]
src/cmd/go/internal/gover/latest.go [new file with mode: 0644]
src/cmd/go/internal/gover/mod.go [new file with mode: 0644]
src/cmd/go/internal/gover/mod_test.go [new file with mode: 0644]
src/cmd/go/internal/modcmd/download.go
src/cmd/go/internal/modcmd/edit.go
src/cmd/go/internal/modcmd/tidy.go
src/cmd/go/internal/modcmd/vendor.go
src/cmd/go/internal/modload/init.go
src/cmd/go/internal/modload/load.go
src/cmd/go/internal/modload/modfile.go
src/cmd/go/internal/modload/vendor.go
src/cmd/go/internal/work/build.go
src/cmd/go/internal/work/gc.go
src/cmd/go/internal/workcmd/edit.go
src/cmd/go/testdata/script/mod_load_missing_std.txt
src/cmd/go/testdata/script/mod_tidy_too_new.txt