# Commands used to debug the module graph should not write go.mod or go.sum # or report errors when those files need to be updated. # Everything's okay initially. go list -m all # Downgrading sampler makes go.mod inconsistent, but 'go mod graph', # 'go mod verify', and 'go mod why' still work. cp go.mod go.mod.orig go mod edit -require=rsc.io/sampler@v1.2.0 cp go.mod go.mod.edit ! go list -m all stderr 'updates to go.mod needed' go mod graph cmp stdout graph.want cmp go.mod go.mod.edit go mod verify stdout '^all modules verified$' cmp go.mod go.mod.edit go mod why rsc.io/sampler cmp stdout why.want cmp go.mod go.mod.edit go mod why -m rsc.io/sampler cmp stdout why.want cmp go.mod go.mod.edit cp go.mod.orig go.mod # Removing go.sum breaks other commands, but 'go mod graph' and # 'go mod why' still work. rm go.sum ! go list -m all stderr 'missing go.sum entry' go mod graph cmp stdout graph.want ! exists go.sum go mod verify stdout '^all modules verified$' ! exists go.sum go mod why rsc.io/sampler cmp stdout why.want ! exists go.sum go mod why -m rsc.io/sampler cmp stdout why.want ! exists go.sum -- go.mod -- module m go 1.18 require rsc.io/quote v1.5.2 require ( golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c // indirect rsc.io/sampler v1.3.0 // indirect rsc.io/testonly v1.0.0 // indirect ) -- go.sum -- golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c h1:pvCbr/wm8HzDD3fVywevekufpn6tCGPY3spdHeZJEsw= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= rsc.io/quote v1.5.2 h1:3fEykkD9k7lYzXqCYrwGAf7iNhbk4yCjHmKBN9td4L0= rsc.io/quote v1.5.2/go.mod h1:LzX7hefJvL54yjefDEDHNONDjII0t9xZLPXsUe+TKr0= rsc.io/sampler v1.2.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= rsc.io/sampler v1.3.0 h1:HLGR/BgEtI3r0uymSP/nl2uPLsUnNJX8toRyhfpBTII= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= rsc.io/testonly v1.0.0 h1:K/VWHdO+Jv7woUXG0GzVNx1czBXUt3Ib1deaMn+xk64= rsc.io/testonly v1.0.0/go.mod h1:OqmGbIFOcF+XrFReLOGZ6BhMM7uMBiQwZsyNmh74SzY= -- use.go -- package use import _ "rsc.io/quote" -- graph.want -- m golang.org/x/text@v0.0.0-20170915032832-14c0d48ead0c m rsc.io/quote@v1.5.2 m rsc.io/sampler@v1.3.0 m rsc.io/testonly@v1.0.0 rsc.io/quote@v1.5.2 rsc.io/sampler@v1.3.0 rsc.io/sampler@v1.3.0 golang.org/x/text@v0.0.0-20170915032832-14c0d48ead0c -- why.want -- # rsc.io/sampler m rsc.io/quote rsc.io/sampler