]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: fix go mod tidy crash on empty module
authorRuss Cox <rsc@golang.org>
Sat, 18 Aug 2018 03:08:24 +0000 (23:08 -0400)
committerRuss Cox <rsc@golang.org>
Sat, 18 Aug 2018 18:22:57 +0000 (18:22 +0000)
Fixes #27066.

Change-Id: Iede4385ad86b42d7d90814965b161a7e64d29833
Reviewed-on: https://go-review.googlesource.com/129799
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/cmd/go/internal/modcmd/tidy.go
src/cmd/go/testdata/script/mod_tidy.txt

index 54f47e764fb0f2adcd9a2d0fe7ea16ef8fa52bf9..f2063a9ea601c976d596c9581aed7144db2f605d 100644 (file)
@@ -44,10 +44,11 @@ func runTidy(cmd *base.Command, args []string) {
 
        // LoadALL adds missing modules.
        // Remove unused modules.
-       used := map[module.Version]bool{modload.Target: true}
+       used := make(map[module.Version]bool)
        for _, pkg := range modload.LoadALL() {
                used[modload.PackageModule(pkg)] = true
        }
+       used[modload.Target] = true // note: LoadALL initializes Target
 
        inGoMod := make(map[string]bool)
        for _, r := range modload.ModFile().Require {
index 86434af7f36519b5abbb0d2c5e8f7a64cbc9919a..449aa073a784702e1bc0e3351594914ceb87809f 100644 (file)
@@ -10,6 +10,10 @@ go list -m all
 stdout '^w.1 v1.2.0'
 stdout '^z.1 v1.2.0'
 
+# empty tidy should not crash
+cd triv
+go mod tidy
+
 -- go.mod --
 module m
 
@@ -55,3 +59,6 @@ module z
 
 -- z/sub/sub.go --
 package sub
+
+-- triv/go.mod --
+module triv