Skip to content

x/vgo: rewrite v2+.x.x pointing at non-module code to v0.0.0 pseudoversion #24056

Closed
@docmerlin

Description

@docmerlin

Please answer these questions before submitting your issue. Thanks!

What version of Go are you using (go version)?

vgo

Does this issue reproduce with the latest release?

no just with vgo

What did you do?

vgo get breaks the build of anything that has a dependency that is using tags for semantic versioning. The assumption on imports without an explicit dependency meaning v0-v1 breaks things.

If your package already use semantic versioning in git tags, anything that imports your app and has been keeping up to date with master (or with the latest tag) will suddenly break.

A possible workaround to minimize the breaking is to make import "github.com/foo/bar" assume a fallback that is less likely to break. Assuming it means master (if there are no semvar tags), or latest required semvar if it is being fetched as part of a build, or something similar is far less likely to break packages. This would also require v0-v1 being required to be explicit, if there are any semvar tags with major version greater than v1 in the git repo.

What did you expect to see?

No breaking changes in go1.

What did you see instead?

A majorly breaking change in go1. Lots of things will become un-vgo-getable.

Metadata

Metadata

Assignees

No one assigned

    Labels

    FrozenDueToAgeNeedsFixThe path to resolution is known, but the work has not been done.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions