# Regression test for https://go.dev/issue/53955. # New remote tags were erroneously added to the local clone of a repo # only *after* extracting version information for a locally-cached commit, # causing the version information to have incomplete Tags and Version fields. [short] skip 'constructs a local git repo' [!git] skip [!net:github.com] skip 'does not actually use github.com because of insteadOf, but silence network check just in case' # Redirect git to a test-specific .gitconfig. # GIT_CONFIG_GLOBAL suffices for git 2.32.0 and newer. # For older git versions we also set $HOME. env GIT_CONFIG_GLOBAL=$WORK${/}home${/}gopher${/}.gitconfig env HOME=$WORK${/}home${/}gopher exec git config --global --show-origin user.name stdout 'Go Gopher' # Inject a local repo in place of a remote one, so that we can # add commits to the repo partway through the test. env GIT_ALLOW_PROTOCOL=file env GOPRIVATE=github.com/golang/issue53955 [!GOOS:windows] exec git config --global 'url.file://'$WORK'/repo.insteadOf' 'https://github.com/golang/issue53955' [GOOS:windows] exec git config --global 'url.file:///'$WORK'/repo.insteadOf' 'https://github.com/golang/issue53955' cd $WORK/repo env GIT_AUTHOR_NAME='Go Gopher' env GIT_AUTHOR_EMAIL='gopher@golang.org' env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL exec git init env GIT_COMMITTER_DATE=2022-07-19T11:07:00-04:00 env GIT_AUTHOR_DATE=2022-07-19T11:07:00-04:00 exec git add go.mod issue53955.go exec git commit -m 'initial commit' exec git branch -m main exec git tag v1.0.9 env GIT_COMMITTER_DATE=2022-07-19T11:07:01-04:00 env GIT_AUTHOR_DATE=2022-07-19T11:07:01-04:00 exec git add extra.go exec git commit -m 'next commit' exec git show-ref --tags --heads cmp stdout $WORK/.git-refs-1 cd $WORK/m go get -x github.com/golang/issue53955@2cb3d49f stderr '^go: added github.com/golang/issue53955 v1.0.10-0.20220719150701-2cb3d49f8874$' cd $WORK/repo exec git tag v1.0.10 cd $WORK/m go get -x github.com/golang/issue53955@v1.0.10 ! stderr 'v1\.0\.10 is not a tag' stderr '^go: upgraded github.com/golang/issue53955 v.* => v1\.0\.10$' -- $WORK/repo/go.mod -- module github.com/golang/issue53955 go 1.18 -- $WORK/repo/issue53955.go -- package issue53955 -- $WORK/repo/extra.go -- package issue53955 -- $WORK/.git-refs-1 -- 2cb3d49f8874b9362ed0ddd2a6512e4108bbf6b1 refs/heads/main 050526ebf5883191e990529eb3cc9345abaf838c refs/tags/v1.0.9 -- $WORK/m/go.mod -- module m go 1.18 -- $WORK/home/gopher/.gitconfig -- [user] name = Go Gopher email = gopher@golang.org