Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cmd/go: remove +incompatible from http request when calling GOPROXY #26600

Closed
marwan-at-work opened this issue Jul 25, 2018 · 1 comment
Closed
Labels
FrozenDueToAge modules NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone

Comments

@marwan-at-work
Copy link
Contributor

Go should remove the "+incompatible" suffix when making http Protocol requests to the GOPROXY. Since this suffix is added by Go and therefore the GOPROXY will not find that version.

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

go version devel +5117c8c267 Tue Jul 24 04:36:00 2018 -0400 darwin/amd64

@bcmills bcmills added NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. modules labels Jul 25, 2018
@bcmills bcmills added this to the Go1.11 milestone Jul 25, 2018
@rsc
Copy link
Contributor

rsc commented Jul 25, 2018

This is working as intended - the canonical name for the version is v2.0.0+incompatible, to make very clear that we are opt-ing in to an incompatible variant of the v1 module path. The proxies are expected to respond to that name and not v2.0.0.

I assume you're running into this because you have a proxy that tries to fetch from the repo and can't find a tag with +incompatible in it, as part of Athens work.

I spoke to @arschles last week about providing a "fetch this module at this version for me" go command so that all the Athens code dedicated to turning git repos into module zip files can be dropped. It's critical to have just one copy, since if even one file is out of place the checksums won't match. Once I do that (soon!) then the proxy would get v2.0.0+incompatible, it would hand that back to the go command to fetch, and the go command would do the right thing. No special case code needed at all. Filed #26609 for that.

If you want to update Athens in the interim, strip the +incompatible and then look for that tag but be sure to fail if go.mod exists at that tag.

Thanks.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge modules NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Projects
None yet
Development

No branches or pull requests

4 participants