mirror of
https://github.com/golang/go.git
synced 2026-04-02 17:30:01 +09:00
cmd/go: revert update default go directive in mod or work init
This restores the previous behavior of setting go directive to the toolchain's version as per #77653. Fixes #77653 Change-Id: Ie9d2de025a75f39fd8d6d01776d0cf4e5da954f9 Reviewed-on: https://go-review.googlesource.com/c/go/+/749980 Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Ian Alexander <jitsu@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com> Auto-Submit: Cherry Mui <cherryyz@google.com>
This commit is contained in:
committed by
Gopher Robot
parent
f4afab14d0
commit
44ec057a3e
@@ -29,7 +29,6 @@ import (
|
||||
"cmd/go/internal/lockedfile"
|
||||
"cmd/go/internal/modfetch"
|
||||
"cmd/go/internal/search"
|
||||
igover "internal/gover"
|
||||
|
||||
"golang.org/x/mod/modfile"
|
||||
"golang.org/x/mod/module"
|
||||
@@ -838,7 +837,7 @@ func WriteWorkFile(path string, wf *modfile.WorkFile) error {
|
||||
wf.Cleanup()
|
||||
out := modfile.Format(wf.Syntax)
|
||||
|
||||
return os.WriteFile(path, out, 0o666)
|
||||
return os.WriteFile(path, out, 0666)
|
||||
}
|
||||
|
||||
// UpdateWorkGoVersion updates the go line in wf to be at least goVers,
|
||||
@@ -1194,7 +1193,7 @@ func CreateModFile(loaderstate *State, ctx context.Context, modPath string) {
|
||||
modFile := new(modfile.File)
|
||||
modFile.AddModuleStmt(modPath)
|
||||
loaderstate.MainModules = makeMainModules(loaderstate, []module.Version{modFile.Module.Mod}, []string{modRoot}, []*modfile.File{modFile}, []*modFileIndex{nil}, nil)
|
||||
addGoStmt(modFile, modFile.Module.Mod, DefaultModInitGoVersion()) // Add the go directive before converted module requirements.
|
||||
addGoStmt(modFile, modFile.Module.Mod, gover.Local()) // Add the go directive before converted module requirements.
|
||||
|
||||
rs := requirementsFromModFiles(loaderstate, ctx, nil, []*modfile.File{modFile}, nil)
|
||||
rs, err := updateRoots(loaderstate, ctx, rs.direct, rs, nil, nil, false)
|
||||
@@ -1830,7 +1829,9 @@ Run 'go help mod init' for more information.
|
||||
return "", fmt.Errorf(msg, dir, reason)
|
||||
}
|
||||
|
||||
var importCommentRE = lazyregexp.New(`(?m)^package[ \t]+[^ \t\r\n/]+[ \t]+//[ \t]+import[ \t]+(\"[^"]+\")[ \t]*\r?\n`)
|
||||
var (
|
||||
importCommentRE = lazyregexp.New(`(?m)^package[ \t]+[^ \t\r\n/]+[ \t]+//[ \t]+import[ \t]+(\"[^"]+\")[ \t]*\r?\n`)
|
||||
)
|
||||
|
||||
func findImportComment(file string) string {
|
||||
data, err := os.ReadFile(file)
|
||||
@@ -2269,29 +2270,3 @@ func CheckGodebug(verb, k, v string) error {
|
||||
}
|
||||
return fmt.Errorf("unknown %s %q", verb, k)
|
||||
}
|
||||
|
||||
// DefaultModInitGoVersion returns the appropriate go version to include in a
|
||||
// newly initialized module or work file.
|
||||
//
|
||||
// If the current toolchain version is a stable version of Go 1.N.M, default to
|
||||
// go 1.(N-1).0
|
||||
//
|
||||
// If the current toolchain version is a pre-release version of Go 1.N (Release
|
||||
// Candidate M) or a development version of Go 1.N, default to go 1.(N-2).0
|
||||
func DefaultModInitGoVersion() string {
|
||||
v := gover.Local()
|
||||
if isPrereleaseOrDevelVersion(v) {
|
||||
v = gover.Prev(gover.Prev(v))
|
||||
} else {
|
||||
v = gover.Prev(v)
|
||||
}
|
||||
if strings.Count(v, ".") < 2 {
|
||||
v += ".0"
|
||||
}
|
||||
return v
|
||||
}
|
||||
|
||||
func isPrereleaseOrDevelVersion(s string) bool {
|
||||
v := igover.Parse(s)
|
||||
return v.Kind != "" || v.Patch == ""
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ import (
|
||||
|
||||
"cmd/go/internal/base"
|
||||
"cmd/go/internal/fsys"
|
||||
"cmd/go/internal/gover"
|
||||
"cmd/go/internal/modload"
|
||||
|
||||
"golang.org/x/mod/modfile"
|
||||
@@ -57,9 +58,10 @@ func runInit(ctx context.Context, cmd *base.Command, args []string) {
|
||||
base.Fatalf("go: %s already exists", gowork)
|
||||
}
|
||||
|
||||
goV := gover.Local() // Use current Go version by default
|
||||
wf := new(modfile.WorkFile)
|
||||
wf.Syntax = new(modfile.FileSyntax)
|
||||
wf.AddGoStmt(modload.DefaultModInitGoVersion())
|
||||
wf.AddGoStmt(goV)
|
||||
workUse(ctx, moduleLoaderState, gowork, wf, args)
|
||||
modload.WriteWorkFile(gowork, wf)
|
||||
}
|
||||
|
||||
71
src/cmd/go/testdata/script/mod_edit.txt
vendored
71
src/cmd/go/testdata/script/mod_edit.txt
vendored
@@ -1,8 +1,5 @@
|
||||
env GO111MODULE=on
|
||||
|
||||
# Set go version so that we can test produced mod files for equality.
|
||||
env TESTGO_VERSION=go1.26.0
|
||||
|
||||
# Test that go mod edits and related mod flags work.
|
||||
# Also test that they can use a dummy name that isn't resolvable. golang.org/issue/24100
|
||||
|
||||
@@ -13,16 +10,16 @@ stderr 'cannot determine module path'
|
||||
|
||||
go mod init x.x/y/z
|
||||
stderr 'creating new go.mod: module x.x/y/z'
|
||||
cmp go.mod $WORK/go.mod.init
|
||||
cmpenv go.mod $WORK/go.mod.init
|
||||
|
||||
! go mod init
|
||||
cmp go.mod $WORK/go.mod.init
|
||||
cmpenv go.mod $WORK/go.mod.init
|
||||
|
||||
# go mod edits
|
||||
go mod edit -droprequire=x.1 -require=x.1@v1.0.0 -require=x.2@v1.1.0 -droprequire=x.2 -exclude='x.1 @ v1.2.0' -exclude=x.1@v1.2.1 -exclude=x.1@v2.0.0+incompatible -replace=x.1@v1.3.0=y.1@v1.4.0 -replace='x.1@v1.4.0 = ../z' -retract=v1.6.0 -retract=[v1.1.0,v1.2.0] -retract=[v1.3.0,v1.4.0] -retract=v1.0.0
|
||||
cmp go.mod $WORK/go.mod.edit1
|
||||
cmpenv go.mod $WORK/go.mod.edit1
|
||||
go mod edit -droprequire=x.1 -dropexclude=x.1@v1.2.1 -dropexclude=x.1@v2.0.0+incompatible -dropreplace=x.1@v1.3.0 -require=x.3@v1.99.0 -dropretract=v1.0.0 -dropretract=[v1.1.0,v1.2.0]
|
||||
cmp go.mod $WORK/go.mod.edit2
|
||||
cmpenv go.mod $WORK/go.mod.edit2
|
||||
|
||||
# -exclude and -retract reject invalid versions.
|
||||
! go mod edit -exclude=example.com/m@bad
|
||||
@@ -39,11 +36,11 @@ stderr '^go: -exclude=example.com/m/v2@v1\.0\.0: version "v1\.0\.0" invalid: sho
|
||||
! go mod edit -exclude=gopkg.in/example.v1@v2.0.0
|
||||
stderr '^go: -exclude=gopkg\.in/example\.v1@v2\.0\.0: version "v2\.0\.0" invalid: should be v1, not v2$'
|
||||
|
||||
cmp go.mod $WORK/go.mod.edit2
|
||||
cmpenv go.mod $WORK/go.mod.edit2
|
||||
|
||||
# go mod edit -json
|
||||
go mod edit -json
|
||||
cmp stdout $WORK/go.mod.json
|
||||
cmpenv stdout $WORK/go.mod.json
|
||||
|
||||
# go mod edit -json (retractions with rationales)
|
||||
go mod edit -json $WORK/go.mod.retractrationale
|
||||
@@ -59,66 +56,66 @@ cmp stdout $WORK/go.mod.empty.json
|
||||
|
||||
# go mod edit -replace
|
||||
go mod edit -replace=x.1@v1.3.0=y.1/v2@v2.3.5 -replace=x.1@v1.4.0=y.1/v2@v2.3.5
|
||||
cmp go.mod $WORK/go.mod.edit3
|
||||
cmpenv go.mod $WORK/go.mod.edit3
|
||||
go mod edit -replace=x.1=y.1/v2@v2.3.6
|
||||
cmp go.mod $WORK/go.mod.edit4
|
||||
cmpenv go.mod $WORK/go.mod.edit4
|
||||
go mod edit -dropreplace=x.1
|
||||
cmp go.mod $WORK/go.mod.edit5
|
||||
cmpenv go.mod $WORK/go.mod.edit5
|
||||
go mod edit -replace=x.1=../y.1/@v2
|
||||
cmp go.mod $WORK/go.mod.edit6
|
||||
cmpenv go.mod $WORK/go.mod.edit6
|
||||
! go mod edit -replace=x.1=y.1/@v2
|
||||
stderr '^go: -replace=x.1=y.1/@v2: invalid new path: malformed import path "y.1/": trailing slash$'
|
||||
|
||||
# go mod edit -fmt
|
||||
cp $WORK/go.mod.badfmt go.mod
|
||||
go mod edit -fmt -print # -print should avoid writing file
|
||||
cmp stdout $WORK/go.mod.goodfmt
|
||||
cmpenv stdout $WORK/go.mod.goodfmt
|
||||
cmp go.mod $WORK/go.mod.badfmt
|
||||
go mod edit -fmt # without -print, should write file (and nothing to stdout)
|
||||
! stdout .
|
||||
cmp go.mod $WORK/go.mod.goodfmt
|
||||
cmpenv go.mod $WORK/go.mod.goodfmt
|
||||
|
||||
# go mod edit -module
|
||||
cd $WORK/m
|
||||
go mod init a.a/b/c
|
||||
go mod edit -module x.x/y/z
|
||||
cmp go.mod go.mod.edit
|
||||
cmpenv go.mod go.mod.edit
|
||||
|
||||
# golang.org/issue/30513: don't require go-gettable module paths.
|
||||
cd $WORK/local
|
||||
go mod init foo
|
||||
go mod edit -module local-only -require=other-local@v1.0.0 -replace other-local@v1.0.0=./other
|
||||
cmp go.mod go.mod.edit
|
||||
cmpenv go.mod go.mod.edit
|
||||
|
||||
# go mod edit -godebug
|
||||
cd $WORK/g
|
||||
cp go.mod.start go.mod
|
||||
go mod edit -godebug key=value
|
||||
cmp go.mod go.mod.edit
|
||||
cmpenv go.mod go.mod.edit
|
||||
go mod edit -dropgodebug key2
|
||||
cmp go.mod go.mod.edit
|
||||
cmpenv go.mod go.mod.edit
|
||||
go mod edit -dropgodebug key
|
||||
cmp go.mod go.mod.start
|
||||
cmpenv go.mod go.mod.start
|
||||
|
||||
# go mod edit -tool
|
||||
cd $WORK/h
|
||||
cp go.mod.start go.mod
|
||||
go mod edit -tool example.com/tool
|
||||
cmp go.mod go.mod.edit
|
||||
cmpenv go.mod go.mod.edit
|
||||
go mod edit -droptool example.com/tool2
|
||||
cmp go.mod go.mod.edit
|
||||
cmpenv go.mod go.mod.edit
|
||||
go mod edit -droptool example.com/tool
|
||||
cmp go.mod go.mod.start
|
||||
cmpenv go.mod go.mod.start
|
||||
|
||||
# go mod edit -ignore
|
||||
cd $WORK/i
|
||||
cp go.mod.start go.mod
|
||||
go mod edit -ignore example.com/ignore
|
||||
cmp go.mod go.mod.edit
|
||||
cmpenv go.mod go.mod.edit
|
||||
go mod edit -dropignore example.com/ignore2
|
||||
cmp go.mod go.mod.edit
|
||||
cmpenv go.mod go.mod.edit
|
||||
go mod edit -dropignore example.com/ignore
|
||||
cmp go.mod go.mod.start
|
||||
cmpenv go.mod go.mod.start
|
||||
|
||||
-- x.go --
|
||||
package x
|
||||
@@ -129,11 +126,11 @@ package w
|
||||
-- $WORK/go.mod.init --
|
||||
module x.x/y/z
|
||||
|
||||
go 1.25.0
|
||||
go $goversion
|
||||
-- $WORK/go.mod.edit1 --
|
||||
module x.x/y/z
|
||||
|
||||
go 1.25.0
|
||||
go $goversion
|
||||
|
||||
require x.1 v1.0.0
|
||||
|
||||
@@ -157,7 +154,7 @@ retract (
|
||||
-- $WORK/go.mod.edit2 --
|
||||
module x.x/y/z
|
||||
|
||||
go 1.25.0
|
||||
go $goversion
|
||||
|
||||
exclude x.1 v1.2.0
|
||||
|
||||
@@ -174,7 +171,7 @@ require x.3 v1.99.0
|
||||
"Module": {
|
||||
"Path": "x.x/y/z"
|
||||
},
|
||||
"Go": "1.25.0",
|
||||
"Go": "$goversion",
|
||||
"Require": [
|
||||
{
|
||||
"Path": "x.3",
|
||||
@@ -214,7 +211,7 @@ require x.3 v1.99.0
|
||||
-- $WORK/go.mod.edit3 --
|
||||
module x.x/y/z
|
||||
|
||||
go 1.25.0
|
||||
go $goversion
|
||||
|
||||
exclude x.1 v1.2.0
|
||||
|
||||
@@ -232,7 +229,7 @@ require x.3 v1.99.0
|
||||
-- $WORK/go.mod.edit4 --
|
||||
module x.x/y/z
|
||||
|
||||
go 1.25.0
|
||||
go $goversion
|
||||
|
||||
exclude x.1 v1.2.0
|
||||
|
||||
@@ -247,7 +244,7 @@ require x.3 v1.99.0
|
||||
-- $WORK/go.mod.edit5 --
|
||||
module x.x/y/z
|
||||
|
||||
go 1.25.0
|
||||
go $goversion
|
||||
|
||||
exclude x.1 v1.2.0
|
||||
|
||||
@@ -260,7 +257,7 @@ require x.3 v1.99.0
|
||||
-- $WORK/go.mod.edit6 --
|
||||
module x.x/y/z
|
||||
|
||||
go 1.25.0
|
||||
go $goversion
|
||||
|
||||
exclude x.1 v1.2.0
|
||||
|
||||
@@ -275,7 +272,7 @@ replace x.1 => ../y.1/@v2
|
||||
-- $WORK/local/go.mod.edit --
|
||||
module local-only
|
||||
|
||||
go 1.25.0
|
||||
go $goversion
|
||||
|
||||
require other-local v1.0.0
|
||||
|
||||
@@ -307,7 +304,7 @@ retract [v1.8.1, v1.8.2]
|
||||
-- $WORK/m/go.mod.edit --
|
||||
module x.x/y/z
|
||||
|
||||
go 1.25.0
|
||||
go $goversion
|
||||
-- $WORK/go.mod.retractrationale --
|
||||
module x.x/y/z
|
||||
|
||||
@@ -408,4 +405,4 @@ module g
|
||||
|
||||
go 1.24
|
||||
|
||||
ignore example.com/ignore
|
||||
ignore example.com/ignore
|
||||
47
src/cmd/go/testdata/script/mod_init_version.txt
vendored
47
src/cmd/go/testdata/script/mod_init_version.txt
vendored
@@ -1,47 +0,0 @@
|
||||
env TESTGO_VERSION=go1.28-devel
|
||||
go mod init example.com
|
||||
cmp go.mod go.mod.want-1.26.0
|
||||
rm go.mod
|
||||
env TESTGO_VERSION=go1.26.0
|
||||
go mod init example.com
|
||||
cmp go.mod go.mod.want-1.25.0
|
||||
rm go.mod
|
||||
env TESTGO_VERSION=go1.22.2
|
||||
go mod init example.com
|
||||
cmp go.mod go.mod.want-1.21.0
|
||||
rm go.mod
|
||||
env TESTGO_VERSION=go1.25.0-xyzzy
|
||||
go mod init example.com
|
||||
cmp go.mod go.mod.want-1.24.0
|
||||
rm go.mod
|
||||
env TESTGO_VERSION=go1.23rc3
|
||||
go mod init example.com
|
||||
cmp go.mod go.mod.want-1.21.0
|
||||
rm go.mod
|
||||
env TESTGO_VERSION=go1.18beta2
|
||||
go mod init example.com
|
||||
cmp go.mod go.mod.want-1.16.0
|
||||
-- go.mod.want-1.26.0 --
|
||||
module example.com
|
||||
|
||||
go 1.26.0
|
||||
-- go.mod.want-1.25.0 --
|
||||
module example.com
|
||||
|
||||
go 1.25.0
|
||||
-- go.mod.want-1.24.0 --
|
||||
module example.com
|
||||
|
||||
go 1.24.0
|
||||
-- go.mod.want-1.22.0 --
|
||||
module example.com
|
||||
|
||||
go 1.22.0
|
||||
-- go.mod.want-1.21.0 --
|
||||
module example.com
|
||||
|
||||
go 1.21.0
|
||||
-- go.mod.want-1.16.0 --
|
||||
module example.com
|
||||
|
||||
go 1.16.0
|
||||
3
src/cmd/go/testdata/script/work.txt
vendored
3
src/cmd/go/testdata/script/work.txt
vendored
@@ -1,5 +1,4 @@
|
||||
[short] skip 'runs go run'
|
||||
env TESTGO_VERSION=go1.26.0
|
||||
|
||||
! go work init doesnotexist
|
||||
stderr 'go: directory doesnotexist does not exist'
|
||||
@@ -75,7 +74,7 @@ use (
|
||||
../src/a
|
||||
)
|
||||
-- go.work.want --
|
||||
go 1.25.0
|
||||
go $goversion
|
||||
|
||||
use (
|
||||
./a
|
||||
|
||||
5
src/cmd/go/testdata/script/work_edit.txt
vendored
5
src/cmd/go/testdata/script/work_edit.txt
vendored
@@ -1,5 +1,4 @@
|
||||
# Test editing go.work files.
|
||||
env TESTGO_VERSION=go1.26.0
|
||||
|
||||
go work init m
|
||||
cmpenv go.work go.work.want_initial
|
||||
@@ -55,11 +54,11 @@ module m
|
||||
|
||||
go 1.18
|
||||
-- go.work.want_initial --
|
||||
go 1.25.0
|
||||
go $goversion
|
||||
|
||||
use ./m
|
||||
-- go.work.want_use_n --
|
||||
go 1.25.0
|
||||
go $goversion
|
||||
|
||||
use (
|
||||
./m
|
||||
|
||||
10
src/cmd/go/testdata/script/work_init_path.txt
vendored
10
src/cmd/go/testdata/script/work_init_path.txt
vendored
@@ -2,7 +2,7 @@
|
||||
# 'go work init . .. foo/bar' should produce a go.work file
|
||||
# with the same paths as 'go work init; go work use -r ..',
|
||||
# and it should have 'use .' rather than 'use ./.' inside.
|
||||
env TESTGO_VERSION=go1.23
|
||||
|
||||
cd dir
|
||||
|
||||
go work init . .. foo/bar
|
||||
@@ -12,19 +12,19 @@ go work init
|
||||
go work use -r ..
|
||||
cmp go.work go.work.init
|
||||
|
||||
cmp go.work $WORK/go.work.want
|
||||
cmpenv go.work $WORK/go.work.want
|
||||
|
||||
-- go.mod --
|
||||
module example
|
||||
go 1.18
|
||||
-- dir/go.mod --
|
||||
module example
|
||||
go 1.21.0
|
||||
go 1.18
|
||||
-- dir/foo/bar/go.mod --
|
||||
module example
|
||||
go 1.21.0
|
||||
go 1.18
|
||||
-- $WORK/go.work.want --
|
||||
go 1.21.0
|
||||
go $goversion
|
||||
|
||||
use (
|
||||
.
|
||||
|
||||
@@ -8,13 +8,13 @@ go mod edit -C m1_22_0 -go=1.22.0 -toolchain=go1.99.0
|
||||
|
||||
# work init writes the current Go version to the go line
|
||||
go work init
|
||||
grep '^go 1.48.0$' go.work
|
||||
grep '^go 1.50$' go.work
|
||||
! grep toolchain go.work
|
||||
|
||||
# work init with older modules should leave go 1.48.0 in the go.work.
|
||||
# work init with older modules should leave go 1.50 in the go.work.
|
||||
rm go.work
|
||||
go work init ./m1_22_0
|
||||
grep '^go 1.48.0$' go.work
|
||||
grep '^go 1.50$' go.work
|
||||
! grep toolchain go.work
|
||||
|
||||
# work init with newer modules should bump go,
|
||||
@@ -31,5 +31,5 @@ env GOTOOLCHAIN=auto
|
||||
go work init ./m1_22_0
|
||||
stderr '^go: m1_22_0'${/}'go.mod requires go >= 1.22.0; switching to go1.22.9$'
|
||||
cat go.work
|
||||
grep '^go 1.22.0$' go.work
|
||||
grep '^go 1.22.9$' go.work
|
||||
! grep toolchain go.work
|
||||
|
||||
35
src/cmd/go/testdata/script/work_init_version.txt
vendored
35
src/cmd/go/testdata/script/work_init_version.txt
vendored
@@ -1,35 +0,0 @@
|
||||
env TESTGO_VERSION=go1.28-devel
|
||||
go work init
|
||||
cmp go.work go.work.want-1.26.0
|
||||
rm go.work
|
||||
env TESTGO_VERSION=go1.26.0
|
||||
go work init
|
||||
cmp go.work go.work.want-1.25.0
|
||||
rm go.work
|
||||
env TESTGO_VERSION=go1.22.2
|
||||
go work init
|
||||
cmp go.work go.work.want-1.21.0
|
||||
rm go.work
|
||||
env TESTGO_VERSION=go1.25.0-xyzzy
|
||||
go work init
|
||||
cmp go.work go.work.want-1.24.0
|
||||
rm go.work
|
||||
env TESTGO_VERSION=go1.24rc3
|
||||
go work init
|
||||
cmp go.work go.work.want-1.22.0
|
||||
rm go.work
|
||||
env TESTGO_VERSION=go1.18beta2
|
||||
go work init
|
||||
cmp go.work go.work.want-1.16.0
|
||||
-- go.work.want-1.26.0 --
|
||||
go 1.26.0
|
||||
-- go.work.want-1.25.0 --
|
||||
go 1.25.0
|
||||
-- go.work.want-1.24.0 --
|
||||
go 1.24.0
|
||||
-- go.work.want-1.22.0 --
|
||||
go 1.22.0
|
||||
-- go.work.want-1.21.0 --
|
||||
go 1.21.0
|
||||
-- go.work.want-1.16.0 --
|
||||
go 1.16.0
|
||||
@@ -11,14 +11,13 @@ go mod init -C m1_24_rc0
|
||||
go mod edit -C m1_24_rc0 -go=1.24rc0 -toolchain=go1.99.2
|
||||
|
||||
go work init ./m1_22_0 ./m1_22_1
|
||||
cat go.work
|
||||
grep '^go 1.48.0$' go.work
|
||||
grep '^go 1.50$' go.work
|
||||
! grep toolchain go.work
|
||||
|
||||
# work sync with older modules should leave go 1.48.0 in the go.work.
|
||||
# work sync with older modules should leave go 1.50 in the go.work.
|
||||
go work sync
|
||||
cat go.work
|
||||
grep '^go 1.48.0$' go.work
|
||||
grep '^go 1.50$' go.work
|
||||
! grep toolchain go.work
|
||||
|
||||
# work sync with newer modules should update go 1.21 -> 1.22.1 and toolchain -> go1.22.9 in go.work
|
||||
|
||||
@@ -11,12 +11,12 @@ go mod init -C m1_24_rc0
|
||||
go mod edit -C m1_24_rc0 -go=1.24rc0 -toolchain=go1.99.2
|
||||
|
||||
go work init
|
||||
grep '^go 1.48.0$' go.work
|
||||
grep '^go 1.50$' go.work
|
||||
! grep toolchain go.work
|
||||
|
||||
# work use with older modules should leave go 1.48.0 in the go.work.
|
||||
# work use with older modules should leave go 1.50 in the go.work.
|
||||
go work use ./m1_22_0
|
||||
grep '^go 1.48.0$' go.work
|
||||
grep '^go 1.50$' go.work
|
||||
! grep toolchain go.work
|
||||
|
||||
# work use with newer modules should bump go and toolchain,
|
||||
|
||||
Reference in New Issue
Block a user