blob: 8561b21df048a5db881bb6668f2a04626f899dd5 [file] [log] [blame]
# 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