# Regression test for https://go.dev/issue/47650: # 'go get' with a pseudo-version of a non-root package within a module # erroneously rejected the pseudo-version as invalid, because it did not fetch # enough commit history to validate the pseudo-version base. [short] skip 'creates and uses a git repository' [!git] skip env GOPRIVATE=vcs-test.golang.org # If we request a package in a subdirectory of a module by commit hash, we # successfully resolve it to a pseudo-version derived from a tag on the parent # commit. cp go.mod go.mod.orig go get -x vcs-test.golang.org/git/issue47650.git/cmd/issue47650@21535ef346c3 stderr '^go: added vcs-test.golang.org/git/issue47650.git v0.1.1-0.20210811175200-21535ef346c3$' # Explicitly requesting that same version should succeed, fetching additional # history for the requested commit as needed in order to validate the # pseudo-version base. go clean -modcache cp go.mod.orig go.mod go get -x vcs-test.golang.org/git/issue47650.git/cmd/issue47650@v0.1.1-0.20210811175200-21535ef346c3 stderr '^go: added vcs-test.golang.org/git/issue47650.git v0.1.1-0.20210811175200-21535ef346c3$' -- go.mod -- module example go 1.20