Add goproxy virtual repositories #159
Reference in New Issue
Block a user
Delete Branch "benvin/virtual-go"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Go clients need one GOPROXY for internal and public modules; goproxy has no virtual type, so a local goproxy repo and proxy.golang.org cannot be served together.
@v/lists; compute@latestover the union (highest release, else highest prerelease)@latestand.info/.mod/.zipto the first member with that version, root-relative andno-store; probe.infofor unlisted pseudo-versionsdocs/goproxy/virtual.mdand a stockgolang:1.25e2e-docker caserequires unkin/artifactapi#143
GoDoc.index()returns onlyBody, andmerged()(engine.go:311) keeps the old generation when the body is unchanged, soOwnersis never refreshed while the version list stays the same (e.g. a version deleted from the first member but still listed by a later one keeps 302ing to the first member and 404s; a version newly added to the first member keeps being served from the later one) → makeindex()include the owners (e.g.version ownerlines) so an owner change replaces the cached doc; add a test.fetchMemberPath404/410 →ErrNotFoundchange has no test → add one covering aServeRemote/ServeLocalIndex404 and 410 (goMember is stubbed everywhere, so nothing exercises it).ErrNotFoundmerges are not cached, so every request for a module no member has fans out to all members (including proxy.golang.org) → cache the miss for a short TTL or document it.No findings.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.