/ go Public
proposal: cmd/go: 'go mod tidy' should remove stale 'exclude' directives #29813
Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
excludedirectives in the
go.modfile prevent commands such as
go get -ufrom selecting particular versions of modules.
However, if the active version of a dependency is already semantically higher than the excluded version,
go get -uwould never select that version implicitly in the first place (depending on the resolution of #26474). The only time it could be introduced is by an explicit downgrade of some package, and explicit downgrades — though possible — are likely to be rare in practice.
That makes those
excludedirectives noisy and somewhat misleading: they appear to have an effect on version selection, but may actually be very stale and completely irrelevant.
I propose that
go mod tidyshould remove
excludedirectives if the selected version of the module in question is already higher than the excluded version.
(CC @rsc @jayconrod)
The text was updated successfully, but these errors were encountered: