golang/go

x/pkgsite: flag exclude and replace in go.mod

Open

#47,094 opened on Jul 8, 2021

View on GitHub
 (0 comments) (3 reactions) (0 assignees)Go (19,008 forks)batch import
NeedsInvestigationhelp wantedpkgsite

Repository metrics

Stars
 (133,883 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

currently, there is a listing for "Valid go.mod file" in the "Details" section. it makes sense that this is more of a presence/absence and syntax check, but I was caught off guard when I could not go-get something reported as "Valid":

go get: github.com/path/to/want@none updating to
	github.com/path/to/want@v1.0.0 requires
	github.com/path/to/dep@v0.0.0-00010101000000-000000000000: invalid version: unknown revision 000000000000

it turned out that this module had an require version and replaced it with the local file system. both replace and exclude are intended for local development and temporary workarounds, see #37559, thus it seems reasonable to flag such modules. it is possible to craft a go.mod with exclude or replace directives that also works with go-get, but considering it behaves differently as a main and dependent module, it still seems worth flagging.

Contributor guide