blob: 0fbd041f8603fd57a3b94e09008072431a56e285 [file] [log] [blame]
env GO111MODULE=on
env GOPROXY=direct
env GOSUMDB=off
# Testing that a pseudo-version is based on the semantically-latest
# tag that appears in any commit that is a (transitive) parent of the commit
# supplied to 'go get', regardless of branches
[!net] skip
[!exec:git] skip
# For this test repository:
# tag v0.2.1 is most recent tag on master itself
# tag v0.2.2 is on branch2, which was then merged to master
# master is a merge commit with both tags as parents
# The pseudo-version hence sorts immediately after v0.2.2 rather
# than v0.2.1, even though the v0.2.2 tag is not on master.
go get -d
go list -m all
stdout '^ v0.2.3-0\.'
-- go.mod --
module x
go 1.12
-- x.go --
package x
import _ ""
-- --
# This is not part of the test.
# Run this to generate and update the repository on
set -euo pipefail
cd "$(dirname "$0")"
rm -rf tagtests
mkdir tagtests
cd tagtests
git init
echo module >go.mod
echo package tagtests >tagtests.go
git add go.mod tagtests.go
git commit -m 'create module tagtests'
git branch b
echo v0.2.1 >v0.2.1
git add v0.2.1
git commit -m v0.2.1
git tag v0.2.1
git checkout b
echo v0.2.2 >v0.2.2
git add v0.2.2
git commit -m v0.2.2
git tag v0.2.2
git checkout master
git merge b -m merge
zip -r ../ .
gsutil cp ../ gs://vcs-test/git/