diff options
author | Bryan C. Mills <bcmills@google.com> | 2019-11-01 16:54:18 -0400 |
---|---|---|
committer | Bryan C. Mills <bcmills@google.com> | 2019-11-06 15:08:19 +0000 |
commit | cf3be9bbca2f90d87283ae69322616b43702a2f7 (patch) | |
tree | 6aff41f0e59d4091e4b31dfa33293d7a6c227788 /src/cmd/go/internal/modcmd/tidy.go | |
parent | 1bd974eeb7238f1f8c09e037a86988d1d2b1e33a (diff) | |
download | go-cf3be9bbca2f90d87283ae69322616b43702a2f7.tar.gz go-cf3be9bbca2f90d87283ae69322616b43702a2f7.zip |
cmd/go: make commands other than 'tidy' prune go.mod less agressively
Updates #31870
Updates #33326
Fixes #34822
Change-Id: I1337f171133c20800eacc6b0955ede5a394ea7eb
Reviewed-on: https://go-review.googlesource.com/c/go/+/204878
Run-TryBot: Bryan C. Mills <bcmills@google.com>
Reviewed-by: Jay Conrod <jayconrod@google.com>
Diffstat (limited to 'src/cmd/go/internal/modcmd/tidy.go')
-rw-r--r-- | src/cmd/go/internal/modcmd/tidy.go | 27 |
1 files changed, 2 insertions, 25 deletions
diff --git a/src/cmd/go/internal/modcmd/tidy.go b/src/cmd/go/internal/modcmd/tidy.go index 584a432d66..af2b04c0c2 100644 --- a/src/cmd/go/internal/modcmd/tidy.go +++ b/src/cmd/go/internal/modcmd/tidy.go @@ -7,9 +7,6 @@ package modcmd import ( - "fmt" - "os" - "cmd/go/internal/base" "cmd/go/internal/cfg" "cmd/go/internal/modfetch" @@ -45,28 +42,8 @@ func runTidy(cmd *base.Command, args []string) { base.Fatalf("go mod tidy: no arguments allowed") } - // LoadALL adds missing modules. - // Remove unused modules. - 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 { - inGoMod[r.Mod.Path] = true - } - - var keep []module.Version - for _, m := range modload.BuildList() { - if used[m] { - keep = append(keep, m) - } else if cfg.BuildV && inGoMod[m.Path] { - fmt.Fprintf(os.Stderr, "unused %s\n", m.Path) - } - } - modload.SetBuildList(keep) + modload.LoadALL() + modload.TidyBuildList() modTidyGoSum() // updates memory copy; WriteGoMod on next line flushes it out modload.WriteGoMod() } |