mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/go: copy git reuse and support repos to hg
The reuse_hg.txt is reuse_git.txt with a skip at the top and a global substitute of git->hg and fetch->pull. The prefixtagtests.txt and tagtests.txt are straight copies of the git equivalents. This is to set up a readable diff in the followup CL that turns it into a reuse test for hg. For #75119. Change-Id: I50c7f5559ee6479f8328ed54c14eafcc7f1ecc1f Reviewed-on: https://go-review.googlesource.com/c/go/+/718381 Reviewed-by: Michael Matloob <matloob@golang.org> Reviewed-by: Michael Matloob <matloob@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
This commit is contained in:
parent
66c7ca7fb3
commit
7995751d3a
3 changed files with 580 additions and 0 deletions
483
src/cmd/go/testdata/script/reuse_hg.txt
vendored
Normal file
483
src/cmd/go/testdata/script/reuse_hg.txt
vendored
Normal file
|
|
@ -0,0 +1,483 @@
|
||||||
|
skip
|
||||||
|
|
||||||
|
[short] skip
|
||||||
|
[!hg] skip
|
||||||
|
|
||||||
|
env GO111MODULE=on
|
||||||
|
env GOPROXY=direct
|
||||||
|
env GOSUMDB=off
|
||||||
|
|
||||||
|
# go mod download with the pseudo-version should invoke hg but not have a TagSum or Ref.
|
||||||
|
go mod download -x -json vcs-test.golang.org/hg/hello.hg@v0.0.0-20170922010558-fc3a09f3dc5c
|
||||||
|
stderr 'hg( .*)* pull'
|
||||||
|
cp stdout hellopseudo.json
|
||||||
|
! stdout '"(Query|TagPrefix|TagSum|Ref)"'
|
||||||
|
stdout '"Version": "v0.0.0-20170922010558-fc3a09f3dc5c"'
|
||||||
|
stdout '"VCS": "hg"'
|
||||||
|
stdout '"URL": ".*/hg/hello"'
|
||||||
|
stdout '"Hash": "fc3a09f3dc5cfe0d7a743ea18f1f5226e68b3777"'
|
||||||
|
! stdout '"RepoSum"'
|
||||||
|
go clean -modcache
|
||||||
|
|
||||||
|
# go mod download vcstest/hello should invoke hg, print origin info
|
||||||
|
go mod download -x -json vcs-test.golang.org/hg/hello.hg@latest
|
||||||
|
stderr 'hg( .*)* pull'
|
||||||
|
cp stdout hello.json
|
||||||
|
stdout '"Version": "v0.0.0-20170922010558-fc3a09f3dc5c"'
|
||||||
|
stdout '"VCS": "hg"'
|
||||||
|
stdout '"URL": ".*/hg/hello"'
|
||||||
|
stdout '"Query": "latest"'
|
||||||
|
! stdout '"TagPrefix"'
|
||||||
|
stdout '"TagSum": "t1:47DEQpj8HBSa[+]/TImW[+]5JCeuQeRkm5NMpJWZG3hSuFU="'
|
||||||
|
stdout '"Ref": "HEAD"'
|
||||||
|
stdout '"Hash": "fc3a09f3dc5cfe0d7a743ea18f1f5226e68b3777"'
|
||||||
|
! stdout '"RepoSum"'
|
||||||
|
|
||||||
|
# pseudo-version again should not invoke hg pull (it has the version from the @latest query)
|
||||||
|
# but still be careful not to include a TagSum or a Ref, especially not Ref set to HEAD,
|
||||||
|
# which is easy to do when reusing the cached version from the @latest query.
|
||||||
|
go mod download -x -json vcs-test.golang.org/hg/hello.hg@v0.0.0-20170922010558-fc3a09f3dc5c
|
||||||
|
! stderr 'hg( .*)* pull'
|
||||||
|
cp stdout hellopseudo2.json
|
||||||
|
cmpenv hellopseudo.json hellopseudo2.json
|
||||||
|
|
||||||
|
# go mod download vcstest/hello@hash needs to check TagSum to find pseudoversion base.
|
||||||
|
go mod download -x -json vcs-test.golang.org/hg/hello.hg@fc3a09f3dc5c
|
||||||
|
! stderr 'hg( .*)* pull'
|
||||||
|
cp stdout hellohash.json
|
||||||
|
stdout '"Version": "v0.0.0-20170922010558-fc3a09f3dc5c"'
|
||||||
|
stdout '"Query": "fc3a09f3dc5c"'
|
||||||
|
stdout '"VCS": "hg"'
|
||||||
|
stdout '"URL": ".*/hg/hello"'
|
||||||
|
stdout '"TagSum": "t1:47DEQpj8HBSa[+]/TImW[+]5JCeuQeRkm5NMpJWZG3hSuFU="'
|
||||||
|
stdout '"Hash": "fc3a09f3dc5cfe0d7a743ea18f1f5226e68b3777"'
|
||||||
|
! stdout '"RepoSum"'
|
||||||
|
|
||||||
|
# go mod download vcstest/hello/v9 should fail, still print origin info
|
||||||
|
! go mod download -x -json vcs-test.golang.org/hg/hello.hg/v9@latest
|
||||||
|
cp stdout hellov9.json
|
||||||
|
stdout '"Version": "latest"'
|
||||||
|
stdout '"Error":.*no matching versions'
|
||||||
|
! stdout '"TagPrefix"'
|
||||||
|
stdout '"TagSum": "t1:47DEQpj8HBSa[+]/TImW[+]5JCeuQeRkm5NMpJWZG3hSuFU="'
|
||||||
|
stdout '"Ref": "HEAD"'
|
||||||
|
stdout '"Hash": "fc3a09f3dc5cfe0d7a743ea18f1f5226e68b3777"'
|
||||||
|
! stdout 'RepoSum'
|
||||||
|
|
||||||
|
# go mod download vcstest/hello/sub/v9 should also fail, print origin info with TagPrefix
|
||||||
|
! go mod download -x -json vcs-test.golang.org/hg/hello.hg/sub/v9@latest
|
||||||
|
cp stdout hellosubv9.json
|
||||||
|
stdout '"Version": "latest"'
|
||||||
|
stdout '"Error":.*no matching versions'
|
||||||
|
stdout '"TagPrefix": "sub/"'
|
||||||
|
stdout '"TagSum": "t1:47DEQpj8HBSa[+]/TImW[+]5JCeuQeRkm5NMpJWZG3hSuFU="'
|
||||||
|
stdout '"Ref": "HEAD"'
|
||||||
|
stdout '"Hash": "fc3a09f3dc5cfe0d7a743ea18f1f5226e68b3777"'
|
||||||
|
! stdout 'RepoSum'
|
||||||
|
|
||||||
|
# go mod download vcstest/hello@nonexist should fail, still print origin info
|
||||||
|
! go mod download -x -json vcs-test.golang.org/hg/hello.hg@nonexist
|
||||||
|
cp stdout hellononexist.json
|
||||||
|
stdout '"Version": "nonexist"'
|
||||||
|
stdout '"Error":.*unknown revision nonexist'
|
||||||
|
stdout '"RepoSum": "r1:c0/9JCZ25lxoBiK3[+]3BhACU4giH49flcJmBynJ[+]Jvmc="'
|
||||||
|
! stdout '"(TagPrefix|TagSum|Ref|Hash)"'
|
||||||
|
|
||||||
|
# go mod download vcstest/hello@1234567890123456789012345678901234567890 should fail, still print origin info
|
||||||
|
# (40 hex digits is assumed to be a full hash and is a slightly different code path from @nonexist)
|
||||||
|
! go mod download -x -json vcs-test.golang.org/hg/hello.hg@1234567890123456789012345678901234567890
|
||||||
|
cp stdout hellononhash.json
|
||||||
|
stdout '"Version": "1234567890123456789012345678901234567890"'
|
||||||
|
stdout '"Error":.*unknown revision 1234567890123456789012345678901234567890'
|
||||||
|
stdout '"RepoSum": "r1:c0/9JCZ25lxoBiK3[+]3BhACU4giH49flcJmBynJ[+]Jvmc="'
|
||||||
|
! stdout '"(TagPrefix|TagSum|Ref|Hash)"'
|
||||||
|
|
||||||
|
# go mod download vcstest/hello@v0.0.0-20220101120101-123456789abc should fail, still print origin info
|
||||||
|
# (non-existent pseudoversion)
|
||||||
|
! go mod download -x -json vcs-test.golang.org/hg/hello.hg@v0.0.0-20220101120101-123456789abc
|
||||||
|
cp stdout hellononpseudo.json
|
||||||
|
stdout '"Version": "v0.0.0-20220101120101-123456789abc"'
|
||||||
|
stdout '"Error":.*unknown revision 123456789abc'
|
||||||
|
stdout '"RepoSum": "r1:c0/9JCZ25lxoBiK3[+]3BhACU4giH49flcJmBynJ[+]Jvmc="'
|
||||||
|
! stdout '"(TagPrefix|TagSum|Ref|Hash)"'
|
||||||
|
|
||||||
|
# go mod download vcstest/tagtests should invoke hg, print origin info
|
||||||
|
go mod download -x -json vcs-test.golang.org/hg/tagtests.hg@latest
|
||||||
|
stderr 'hg( .*)* pull'
|
||||||
|
cp stdout tagtests.json
|
||||||
|
stdout '"Version": "v0.2.2"'
|
||||||
|
stdout '"Query": "latest"'
|
||||||
|
stdout '"VCS": "hg"'
|
||||||
|
stdout '"URL": ".*/hg/tagtests"'
|
||||||
|
! stdout '"TagPrefix"'
|
||||||
|
stdout '"TagSum": "t1:Dp7yRKDuE8WjG0429PN9hYWjqhy2te7P9Oki/sMEOGo="'
|
||||||
|
stdout '"Ref": "refs/tags/v0.2.2"'
|
||||||
|
stdout '"Hash": "59356c8cd18c5fe9a598167d98a6843e52d57952"'
|
||||||
|
! stdout '"RepoSum"'
|
||||||
|
|
||||||
|
# go mod download vcstest/tagtests@v0.2.2 should print origin info, no TagSum needed
|
||||||
|
go mod download -x -json vcs-test.golang.org/hg/tagtests.hg@v0.2.2
|
||||||
|
cp stdout tagtestsv022.json
|
||||||
|
stdout '"Version": "v0.2.2"'
|
||||||
|
! stdout '"Query":'
|
||||||
|
stdout '"VCS": "hg"'
|
||||||
|
stdout '"URL": ".*/hg/tagtests"'
|
||||||
|
! stdout '"TagPrefix"'
|
||||||
|
! stdout '"TagSum"'
|
||||||
|
stdout '"Ref": "refs/tags/v0.2.2"'
|
||||||
|
stdout '"Hash": "59356c8cd18c5fe9a598167d98a6843e52d57952"'
|
||||||
|
! stdout '"RepoSum"'
|
||||||
|
|
||||||
|
# go mod download vcstest/tagtests@master needs a TagSum again
|
||||||
|
go mod download -x -json vcs-test.golang.org/hg/tagtests.hg@master
|
||||||
|
cp stdout tagtestsmaster.json
|
||||||
|
stdout '"Version": "v0.2.3-0.20190509225625-c7818c24fa2f"'
|
||||||
|
stdout '"Query": "master"'
|
||||||
|
stdout '"VCS": "hg"'
|
||||||
|
stdout '"URL": ".*/hg/tagtests"'
|
||||||
|
! stdout '"TagPrefix"'
|
||||||
|
stdout '"TagSum": "t1:Dp7yRKDuE8WjG0429PN9hYWjqhy2te7P9Oki/sMEOGo="'
|
||||||
|
stdout '"Ref": "refs/heads/master"'
|
||||||
|
stdout '"Hash": "c7818c24fa2f3f714c67d0a6d3e411c85a518d1f"'
|
||||||
|
! stdout '"RepoSum"'
|
||||||
|
|
||||||
|
# go mod download vcstest/prefixtagtests should invoke hg, print origin info
|
||||||
|
go mod download -x -json vcs-test.golang.org/hg/prefixtagtests.hg/sub@latest
|
||||||
|
stderr 'hg( .*)* pull'
|
||||||
|
cp stdout prefixtagtests.json
|
||||||
|
stdout '"Version": "v0.0.10"'
|
||||||
|
stdout '"Query": "latest"'
|
||||||
|
stdout '"VCS": "hg"'
|
||||||
|
stdout '"URL": ".*/hg/prefixtagtests"'
|
||||||
|
stdout '"Subdir": "sub"'
|
||||||
|
stdout '"TagPrefix": "sub/"'
|
||||||
|
stdout '"TagSum": "t1:YGSbWkJ8dn9ORAr[+]BlKHFK/2ZhXLb9hVuYfTZ9D8C7g="'
|
||||||
|
stdout '"Ref": "refs/tags/sub/v0.0.10"'
|
||||||
|
stdout '"Hash": "2b7c4692e12c109263cab51b416fcc835ddd7eae"'
|
||||||
|
! stdout '"RepoSum"'
|
||||||
|
|
||||||
|
# go mod download of a bunch of these should fail (some are invalid) but write good JSON for later
|
||||||
|
! go mod download -json vcs-test.golang.org/hg/hello.hg@latest vcs-test.golang.org/hg/hello.hg/v9@latest vcs-test.golang.org/hg/hello.hg/sub/v9@latest vcs-test.golang.org/hg/tagtests.hg@latest vcs-test.golang.org/hg/tagtests.hg@v0.2.2 vcs-test.golang.org/hg/tagtests.hg@master
|
||||||
|
cp stdout all.json
|
||||||
|
|
||||||
|
# clean the module cache, make sure that makes go mod download re-run hg pull, clean again
|
||||||
|
go clean -modcache
|
||||||
|
go mod download -x -json vcs-test.golang.org/hg/hello.hg@latest
|
||||||
|
stderr 'hg( .*)* pull'
|
||||||
|
go clean -modcache
|
||||||
|
|
||||||
|
# reuse go mod download vcstest/hello result
|
||||||
|
go clean -modcache
|
||||||
|
go mod download -reuse=hello.json -x -json vcs-test.golang.org/hg/hello.hg@latest
|
||||||
|
! stderr 'hg( .*)* pull'
|
||||||
|
stdout '"Reuse": true'
|
||||||
|
stdout '"Version": "v0.0.0-20170922010558-fc3a09f3dc5c"'
|
||||||
|
stdout '"VCS": "hg"'
|
||||||
|
stdout '"URL": ".*/hg/hello"'
|
||||||
|
! stdout '"TagPrefix"'
|
||||||
|
stdout '"TagSum": "t1:47DEQpj8HBSa[+]/TImW[+]5JCeuQeRkm5NMpJWZG3hSuFU="'
|
||||||
|
stdout '"Ref": "HEAD"'
|
||||||
|
stdout '"Hash": "fc3a09f3dc5cfe0d7a743ea18f1f5226e68b3777"'
|
||||||
|
! stdout '"(Dir|Info|GoMod|Zip|RepoSum)"'
|
||||||
|
|
||||||
|
# reuse go mod download vcstest/hello pseudoversion result
|
||||||
|
go clean -modcache
|
||||||
|
go mod download -reuse=hellopseudo.json -x -json vcs-test.golang.org/hg/hello.hg@v0.0.0-20170922010558-fc3a09f3dc5c
|
||||||
|
! stderr 'hg( .*)* pull'
|
||||||
|
stdout '"Reuse": true'
|
||||||
|
stdout '"Version": "v0.0.0-20170922010558-fc3a09f3dc5c"'
|
||||||
|
stdout '"VCS": "hg"'
|
||||||
|
stdout '"URL": ".*/hg/hello"'
|
||||||
|
! stdout '"(Query|TagPrefix|TagSum|Ref)"'
|
||||||
|
stdout '"Hash": "fc3a09f3dc5cfe0d7a743ea18f1f5226e68b3777"'
|
||||||
|
! stdout '"(Dir|Info|GoMod|Zip|RepoSum)"'
|
||||||
|
|
||||||
|
# reuse go mod download vcstest/hello@hash
|
||||||
|
go clean -modcache
|
||||||
|
go mod download -reuse=hellohash.json -x -json vcs-test.golang.org/hg/hello.hg@fc3a09f3dc5c
|
||||||
|
! stderr 'hg( .*)* pull'
|
||||||
|
stdout '"Reuse": true'
|
||||||
|
stdout '"Query": "fc3a09f3dc5c"'
|
||||||
|
stdout '"Version": "v0.0.0-20170922010558-fc3a09f3dc5c"'
|
||||||
|
stdout '"VCS": "hg"'
|
||||||
|
stdout '"URL": ".*/hg/hello"'
|
||||||
|
! stdout '"(TagPrefix|Ref)"'
|
||||||
|
stdout '"TagSum": "t1:47DEQpj8HBSa[+]/TImW[+]5JCeuQeRkm5NMpJWZG3hSuFU="'
|
||||||
|
stdout '"Hash": "fc3a09f3dc5cfe0d7a743ea18f1f5226e68b3777"'
|
||||||
|
! stdout '"(Dir|Info|GoMod|Zip|RepoSum)"'
|
||||||
|
|
||||||
|
# reuse go mod download vcstest/hello/v9 error result
|
||||||
|
go clean -modcache
|
||||||
|
! go mod download -reuse=hellov9.json -x -json vcs-test.golang.org/hg/hello.hg/v9@latest
|
||||||
|
! stderr 'hg( .*)* pull'
|
||||||
|
stdout '"Reuse": true'
|
||||||
|
stdout '"Error":.*no matching versions'
|
||||||
|
! stdout '"TagPrefix"'
|
||||||
|
stdout '"TagSum": "t1:47DEQpj8HBSa[+]/TImW[+]5JCeuQeRkm5NMpJWZG3hSuFU="'
|
||||||
|
stdout '"Ref": "HEAD"'
|
||||||
|
stdout '"Hash": "fc3a09f3dc5cfe0d7a743ea18f1f5226e68b3777"'
|
||||||
|
! stdout '"(Dir|Info|GoMod|Zip|RepoSum)"'
|
||||||
|
|
||||||
|
# reuse go mod download vcstest/hello/sub/v9 error result
|
||||||
|
go clean -modcache
|
||||||
|
! go mod download -reuse=hellosubv9.json -x -json vcs-test.golang.org/hg/hello.hg/sub/v9@latest
|
||||||
|
! stderr 'hg( .*)* pull'
|
||||||
|
stdout '"Reuse": true'
|
||||||
|
stdout '"Error":.*no matching versions'
|
||||||
|
stdout '"TagPrefix": "sub/"'
|
||||||
|
stdout '"TagSum": "t1:47DEQpj8HBSa[+]/TImW[+]5JCeuQeRkm5NMpJWZG3hSuFU="'
|
||||||
|
stdout '"Ref": "HEAD"'
|
||||||
|
stdout '"Hash": "fc3a09f3dc5cfe0d7a743ea18f1f5226e68b3777"'
|
||||||
|
! stdout '"(Dir|Info|GoMod|Zip|RepoSum)"'
|
||||||
|
|
||||||
|
# reuse go mod download vcstest/hello@nonexist
|
||||||
|
go clean -modcache
|
||||||
|
! go mod download -reuse=hellononexist.json -x -json vcs-test.golang.org/hg/hello.hg@nonexist
|
||||||
|
! stderr 'hg( .*)* pull'
|
||||||
|
stdout '"Reuse": true'
|
||||||
|
stdout '"Version": "nonexist"'
|
||||||
|
stdout '"Error":.*unknown revision nonexist'
|
||||||
|
stdout '"RepoSum": "r1:c0/9JCZ25lxoBiK3[+]3BhACU4giH49flcJmBynJ[+]Jvmc="'
|
||||||
|
! stdout '"(TagPrefix|TagSum|Ref|Hash)"'
|
||||||
|
! stdout '"(Dir|Info|GoMod|Zip)"'
|
||||||
|
|
||||||
|
# reuse go mod download vcstest/hello@1234567890123456789012345678901234567890
|
||||||
|
go clean -modcache
|
||||||
|
! go mod download -reuse=hellononhash.json -x -json vcs-test.golang.org/hg/hello.hg@1234567890123456789012345678901234567890
|
||||||
|
! stderr 'hg( .*)* pull'
|
||||||
|
stdout '"Reuse": true'
|
||||||
|
stdout '"Version": "1234567890123456789012345678901234567890"'
|
||||||
|
stdout '"Error":.*unknown revision 1234567890123456789012345678901234567890'
|
||||||
|
stdout '"RepoSum": "r1:c0/9JCZ25lxoBiK3[+]3BhACU4giH49flcJmBynJ[+]Jvmc="'
|
||||||
|
! stdout '"(TagPrefix|TagSum|Ref|Hash)"'
|
||||||
|
! stdout '"(Dir|Info|GoMod|Zip)"'
|
||||||
|
|
||||||
|
# reuse go mod download vcstest/hello@v0.0.0-20220101120101-123456789abc
|
||||||
|
go clean -modcache
|
||||||
|
! go mod download -reuse=hellononpseudo.json -x -json vcs-test.golang.org/hg/hello.hg@v0.0.0-20220101120101-123456789abc
|
||||||
|
! stderr 'hg( .*)* pull'
|
||||||
|
stdout '"Reuse": true'
|
||||||
|
stdout '"Version": "v0.0.0-20220101120101-123456789abc"'
|
||||||
|
stdout '"Error":.*unknown revision 123456789abc'
|
||||||
|
stdout '"RepoSum": "r1:c0/9JCZ25lxoBiK3[+]3BhACU4giH49flcJmBynJ[+]Jvmc="'
|
||||||
|
! stdout '"(TagPrefix|TagSum|Ref|Hash)"'
|
||||||
|
! stdout '"(Dir|Info|GoMod|Zip)"'
|
||||||
|
|
||||||
|
# reuse go mod download vcstest/tagtests result
|
||||||
|
go clean -modcache
|
||||||
|
go mod download -reuse=tagtests.json -x -json vcs-test.golang.org/hg/tagtests.hg@latest
|
||||||
|
! stderr 'hg( .*)* pull'
|
||||||
|
stdout '"Reuse": true'
|
||||||
|
stdout '"Version": "v0.2.2"'
|
||||||
|
stdout '"Query": "latest"'
|
||||||
|
stdout '"VCS": "hg"'
|
||||||
|
stdout '"URL": ".*/hg/tagtests"'
|
||||||
|
! stdout '"TagPrefix"'
|
||||||
|
stdout '"TagSum": "t1:Dp7yRKDuE8WjG0429PN9hYWjqhy2te7P9Oki/sMEOGo="'
|
||||||
|
stdout '"Ref": "refs/tags/v0.2.2"'
|
||||||
|
stdout '"Hash": "59356c8cd18c5fe9a598167d98a6843e52d57952"'
|
||||||
|
! stdout '"(Dir|Info|GoMod|Zip|RepoSum)"'
|
||||||
|
|
||||||
|
# reuse go mod download vcstest/tagtests@v0.2.2 result
|
||||||
|
go clean -modcache
|
||||||
|
go mod download -reuse=tagtestsv022.json -x -json vcs-test.golang.org/hg/tagtests.hg@v0.2.2
|
||||||
|
! stderr 'hg( .*)* pull'
|
||||||
|
stdout '"Reuse": true'
|
||||||
|
stdout '"Version": "v0.2.2"'
|
||||||
|
! stdout '"Query":'
|
||||||
|
stdout '"VCS": "hg"'
|
||||||
|
stdout '"URL": ".*/hg/tagtests"'
|
||||||
|
! stdout '"TagPrefix"'
|
||||||
|
! stdout '"TagSum"'
|
||||||
|
stdout '"Ref": "refs/tags/v0.2.2"'
|
||||||
|
stdout '"Hash": "59356c8cd18c5fe9a598167d98a6843e52d57952"'
|
||||||
|
! stdout '"(Dir|Info|GoMod|Zip|RepoSum)"'
|
||||||
|
|
||||||
|
# reuse go mod download vcstest/tagtests@master result
|
||||||
|
go clean -modcache
|
||||||
|
go mod download -reuse=tagtestsmaster.json -x -json vcs-test.golang.org/hg/tagtests.hg@master
|
||||||
|
! stderr 'hg( .*)* pull'
|
||||||
|
stdout '"Reuse": true'
|
||||||
|
stdout '"Version": "v0.2.3-0.20190509225625-c7818c24fa2f"'
|
||||||
|
stdout '"Query": "master"'
|
||||||
|
stdout '"VCS": "hg"'
|
||||||
|
stdout '"URL": ".*/hg/tagtests"'
|
||||||
|
! stdout '"TagPrefix"'
|
||||||
|
stdout '"TagSum": "t1:Dp7yRKDuE8WjG0429PN9hYWjqhy2te7P9Oki/sMEOGo="'
|
||||||
|
stdout '"Ref": "refs/heads/master"'
|
||||||
|
stdout '"Hash": "c7818c24fa2f3f714c67d0a6d3e411c85a518d1f"'
|
||||||
|
! stdout '"(Dir|Info|GoMod|Zip|RepoSum)"'
|
||||||
|
|
||||||
|
# reuse go mod download vcstest/tagtests@master result again with all.json
|
||||||
|
go clean -modcache
|
||||||
|
go mod download -reuse=all.json -x -json vcs-test.golang.org/hg/tagtests.hg@master
|
||||||
|
! stderr 'hg( .*)* pull'
|
||||||
|
stdout '"Reuse": true'
|
||||||
|
stdout '"Version": "v0.2.3-0.20190509225625-c7818c24fa2f"'
|
||||||
|
stdout '"Query": "master"'
|
||||||
|
stdout '"VCS": "hg"'
|
||||||
|
stdout '"URL": ".*/hg/tagtests"'
|
||||||
|
! stdout '"TagPrefix"'
|
||||||
|
stdout '"TagSum": "t1:Dp7yRKDuE8WjG0429PN9hYWjqhy2te7P9Oki/sMEOGo="'
|
||||||
|
stdout '"Ref": "refs/heads/master"'
|
||||||
|
stdout '"Hash": "c7818c24fa2f3f714c67d0a6d3e411c85a518d1f"'
|
||||||
|
! stdout '"(Dir|Info|GoMod|Zip|RepoSum)"'
|
||||||
|
|
||||||
|
# go mod download vcstest/prefixtagtests result with json
|
||||||
|
go clean -modcache
|
||||||
|
go mod download -reuse=prefixtagtests.json -x -json vcs-test.golang.org/hg/prefixtagtests.hg/sub@latest
|
||||||
|
! stderr 'hg( .*)* pull'
|
||||||
|
stdout '"Version": "v0.0.10"'
|
||||||
|
stdout '"Query": "latest"'
|
||||||
|
stdout '"VCS": "hg"'
|
||||||
|
stdout '"URL": ".*/hg/prefixtagtests"'
|
||||||
|
stdout '"Subdir": "sub"'
|
||||||
|
stdout '"TagPrefix": "sub/"'
|
||||||
|
stdout '"TagSum": "t1:YGSbWkJ8dn9ORAr[+]BlKHFK/2ZhXLb9hVuYfTZ9D8C7g="'
|
||||||
|
stdout '"Ref": "refs/tags/sub/v0.0.10"'
|
||||||
|
stdout '"Hash": "2b7c4692e12c109263cab51b416fcc835ddd7eae"'
|
||||||
|
! stdout '"(Dir|Info|GoMod|Zip)"'
|
||||||
|
|
||||||
|
# reuse the bulk results with all.json
|
||||||
|
go clean -modcache
|
||||||
|
! go mod download -reuse=all.json -json vcs-test.golang.org/hg/hello.hg@latest vcs-test.golang.org/hg/hello.hg/v9@latest vcs-test.golang.org/hg/hello.hg/sub/v9@latest vcs-test.golang.org/hg/tagtests.hg@latest vcs-test.golang.org/hg/tagtests.hg@v0.2.2 vcs-test.golang.org/hg/tagtests.hg@master
|
||||||
|
! stderr 'hg( .*)* pull'
|
||||||
|
stdout '"Reuse": true'
|
||||||
|
! stdout '"(Dir|Info|GoMod|Zip)"'
|
||||||
|
|
||||||
|
# reuse attempt with stale hash should reinvoke hg, not report reuse
|
||||||
|
go clean -modcache
|
||||||
|
cp tagtestsv022.json tagtestsv022badhash.json
|
||||||
|
replace '57952' '56952XXX' tagtestsv022badhash.json
|
||||||
|
go mod download -reuse=tagtestsv022badhash.json -x -json vcs-test.golang.org/hg/tagtests.hg@v0.2.2
|
||||||
|
stderr 'hg( .*)* pull'
|
||||||
|
! stdout '"Reuse": true'
|
||||||
|
stdout '"Version": "v0.2.2"'
|
||||||
|
! stdout '"Query"'
|
||||||
|
stdout '"VCS": "hg"'
|
||||||
|
stdout '"URL": ".*/hg/tagtests"'
|
||||||
|
! stdout '"(TagPrefix|TagSum|RepoSum)"'
|
||||||
|
stdout '"Ref": "refs/tags/v0.2.2"'
|
||||||
|
stdout '"Hash": "59356c8cd18c5fe9a598167d98a6843e52d57952"'
|
||||||
|
stdout '"Dir"'
|
||||||
|
stdout '"Info"'
|
||||||
|
stdout '"GoMod"'
|
||||||
|
stdout '"Zip"'
|
||||||
|
|
||||||
|
# reuse with stale repo URL
|
||||||
|
go clean -modcache
|
||||||
|
cp tagtestsv022.json tagtestsv022badurl.json
|
||||||
|
replace 'hg/tagtests\"' 'hg/tagtestsXXX\"' tagtestsv022badurl.json
|
||||||
|
go mod download -reuse=tagtestsv022badurl.json -x -json vcs-test.golang.org/hg/tagtests.hg@v0.2.2
|
||||||
|
! stdout '"Reuse": true'
|
||||||
|
stdout '"URL": ".*/hg/tagtests"'
|
||||||
|
stdout '"Dir"'
|
||||||
|
stdout '"Info"'
|
||||||
|
stdout '"GoMod"'
|
||||||
|
stdout '"Zip"'
|
||||||
|
|
||||||
|
# reuse with stale VCS
|
||||||
|
go clean -modcache
|
||||||
|
cp tagtestsv022.json tagtestsv022badvcs.json
|
||||||
|
replace '\"hg\"' '\"hgXXX\"' tagtestsv022badvcs.json
|
||||||
|
go mod download -reuse=tagtestsv022badvcs.json -x -json vcs-test.golang.org/hg/tagtests.hg@v0.2.2
|
||||||
|
! stdout '"Reuse": true'
|
||||||
|
stdout '"URL": ".*/hg/tagtests"'
|
||||||
|
! stdout '"RepoSum"'
|
||||||
|
|
||||||
|
# reuse with stale Dir
|
||||||
|
go clean -modcache
|
||||||
|
cp tagtestsv022.json tagtestsv022baddir.json
|
||||||
|
replace '\t\t\"Ref\":' '\t\t\"Subdir\": \"subdir\",\n\t\t\"Ref\":' tagtestsv022baddir.json
|
||||||
|
go mod download -reuse=tagtestsv022baddir.json -x -json vcs-test.golang.org/hg/tagtests.hg@v0.2.2
|
||||||
|
! stdout '"Reuse": true'
|
||||||
|
stdout '"URL": ".*/hg/tagtests"'
|
||||||
|
! stdout '"RepoSum"'
|
||||||
|
|
||||||
|
# reuse with stale TagSum
|
||||||
|
go clean -modcache
|
||||||
|
cp tagtests.json tagtestsbadtagsum.json
|
||||||
|
replace 'sMEOGo=' 'sMEoGo=XXX' tagtestsbadtagsum.json
|
||||||
|
go mod download -reuse=tagtestsbadtagsum.json -x -json vcs-test.golang.org/hg/tagtests.hg@latest
|
||||||
|
! stdout '"Reuse": true'
|
||||||
|
stdout '"TagSum": "t1:Dp7yRKDuE8WjG0429PN9hYWjqhy2te7P9Oki/sMEOGo="'
|
||||||
|
! stdout '"RepoSum"'
|
||||||
|
|
||||||
|
# go list on repo with no tags
|
||||||
|
go clean -modcache
|
||||||
|
go list -x -json -m -retracted -versions vcs-test.golang.org/hg/hello.hg@latest
|
||||||
|
stderr 'hg( .*)* pull'
|
||||||
|
cp stdout hellolist.json
|
||||||
|
! stdout '"Versions"'
|
||||||
|
stdout '"Version": "v0.0.0-20170922010558-fc3a09f3dc5c"'
|
||||||
|
stdout '"VCS": "hg"'
|
||||||
|
stdout '"URL": ".*/hg/hello"'
|
||||||
|
stdout '"Query": "latest"'
|
||||||
|
! stdout '"TagPrefix"'
|
||||||
|
stdout '"TagSum": "t1:47DEQpj8HBSa[+]/TImW[+]5JCeuQeRkm5NMpJWZG3hSuFU="'
|
||||||
|
stdout '"Hash": "fc3a09f3dc5cfe0d7a743ea18f1f5226e68b3777"'
|
||||||
|
! stdout '"RepoSum"'
|
||||||
|
|
||||||
|
# reuse go list on repo with no tags
|
||||||
|
go clean -modcache
|
||||||
|
go list -x -reuse=hellolist.json -json -m -retracted -versions vcs-test.golang.org/hg/hello.hg@latest
|
||||||
|
! stderr 'hg( .*)* pull'
|
||||||
|
stdout '"Reuse": true'
|
||||||
|
! stdout '"Versions"'
|
||||||
|
stdout '"Version": "v0.0.0-20170922010558-fc3a09f3dc5c"'
|
||||||
|
stdout '"VCS": "hg"'
|
||||||
|
stdout '"URL": ".*/hg/hello"'
|
||||||
|
stdout '"Query": "latest"'
|
||||||
|
! stdout '"TagPrefix"'
|
||||||
|
stdout '"TagSum": "t1:47DEQpj8HBSa[+]/TImW[+]5JCeuQeRkm5NMpJWZG3hSuFU="'
|
||||||
|
stdout '"Hash": "fc3a09f3dc5cfe0d7a743ea18f1f5226e68b3777"'
|
||||||
|
! stdout '"RepoSum"'
|
||||||
|
|
||||||
|
# reuse with stale list
|
||||||
|
go clean -modcache
|
||||||
|
cp hellolist.json hellolistbad.json
|
||||||
|
replace '47DEQ' 'ZZZ' hellolistbad.json
|
||||||
|
go clean -modcache
|
||||||
|
go list -x -reuse=hellolistbad.json -json -m -retracted -versions vcs-test.golang.org/hg/hello.hg@latest
|
||||||
|
stderr 'hg( .*)* pull'
|
||||||
|
! stdout '"Reuse": true'
|
||||||
|
stdout '"TagSum": "t1:47DEQpj8HBSa[+]/TImW[+]5JCeuQeRkm5NMpJWZG3hSuFU="'
|
||||||
|
|
||||||
|
# go list on repo with tags
|
||||||
|
go clean -modcache
|
||||||
|
go list -x -json -m -retracted -versions vcs-test.golang.org/hg/tagtests.hg@latest
|
||||||
|
cp stdout taglist.json
|
||||||
|
stderr 'hg( .*)* pull'
|
||||||
|
stdout '"Versions":'
|
||||||
|
stdout '"v0.2.1"'
|
||||||
|
stdout '"v0.2.2"'
|
||||||
|
stdout '"Version": "v0.2.2"'
|
||||||
|
stdout '"VCS": "hg"'
|
||||||
|
stdout '"URL": ".*/hg/tagtests"'
|
||||||
|
stdout '"Hash": "59356c8cd18c5fe9a598167d98a6843e52d57952"'
|
||||||
|
stdout '"TagSum": "t1:Dp7yRKDuE8WjG0429PN9hYWjqhy2te7P9Oki/sMEOGo="'
|
||||||
|
stdout '"Ref": "refs/tags/v0.2.2"'
|
||||||
|
|
||||||
|
# reuse go list on repo with tags
|
||||||
|
go clean -modcache
|
||||||
|
go list -reuse=taglist.json -x -json -m -retracted -versions vcs-test.golang.org/hg/tagtests.hg@latest
|
||||||
|
! stderr 'hg( .*)* pull'
|
||||||
|
stdout '"Reuse": true'
|
||||||
|
stdout '"Versions":'
|
||||||
|
stdout '"v0.2.1"'
|
||||||
|
stdout '"v0.2.2"'
|
||||||
|
stdout '"Version": "v0.2.2"'
|
||||||
|
stdout '"VCS": "hg"'
|
||||||
|
stdout '"URL": ".*/hg/tagtests"'
|
||||||
|
stdout '"Hash": "59356c8cd18c5fe9a598167d98a6843e52d57952"'
|
||||||
|
stdout '"TagSum": "t1:Dp7yRKDuE8WjG0429PN9hYWjqhy2te7P9Oki/sMEOGo="'
|
||||||
|
stdout '"Ref": "refs/tags/v0.2.2"'
|
||||||
|
|
||||||
|
# reuse with stale list
|
||||||
|
go clean -modcache
|
||||||
|
cp taglist.json taglistbad.json
|
||||||
|
replace 'Dp7yRKDu' 'ZZZ' taglistbad.json
|
||||||
|
go list -reuse=taglistbad.json -x -json -m -retracted -versions vcs-test.golang.org/hg/tagtests.hg@latest
|
||||||
|
stderr 'hg( .*)* pull'
|
||||||
|
! stdout '"Reuse": true'
|
||||||
|
stdout '"TagSum": "t1:Dp7yRKDuE8WjG0429PN9hYWjqhy2te7P9Oki/sMEOGo="'
|
||||||
53
src/cmd/go/testdata/vcstest/hg/prefixtagtests.txt
vendored
Normal file
53
src/cmd/go/testdata/vcstest/hg/prefixtagtests.txt
vendored
Normal file
|
|
@ -0,0 +1,53 @@
|
||||||
|
handle git
|
||||||
|
|
||||||
|
env GIT_AUTHOR_NAME='Jay Conrod'
|
||||||
|
env GIT_AUTHOR_EMAIL='jayconrod@google.com'
|
||||||
|
env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME
|
||||||
|
env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL
|
||||||
|
|
||||||
|
at 2019-05-09T18:35:00-04:00
|
||||||
|
|
||||||
|
git init
|
||||||
|
|
||||||
|
git add sub
|
||||||
|
git commit -m 'create module sub'
|
||||||
|
git branch -m master
|
||||||
|
|
||||||
|
echo 'v0.1.0'
|
||||||
|
cp stdout status
|
||||||
|
git add status
|
||||||
|
git commit -a -m 'v0.1.0'
|
||||||
|
git tag 'v0.1.0'
|
||||||
|
|
||||||
|
echo 'sub/v0.0.9'
|
||||||
|
cp stdout status
|
||||||
|
git commit -a -m 'sub/v0.0.9'
|
||||||
|
git tag 'sub/v0.0.9'
|
||||||
|
|
||||||
|
echo 'sub/v0.0.10'
|
||||||
|
cp stdout status
|
||||||
|
git commit -a -m 'sub/v0.0.10'
|
||||||
|
git tag 'sub/v0.0.10'
|
||||||
|
|
||||||
|
echo 'v0.2.0'
|
||||||
|
cp stdout status
|
||||||
|
git commit -a -m 'v0.2.0'
|
||||||
|
git tag 'v0.2.0'
|
||||||
|
|
||||||
|
echo 'after last tag'
|
||||||
|
cp stdout status
|
||||||
|
git commit -a -m 'after last tag'
|
||||||
|
|
||||||
|
git show-ref --tags --heads
|
||||||
|
cmp stdout .git-refs
|
||||||
|
|
||||||
|
-- .git-refs --
|
||||||
|
c3ee5d0dfbb9bf3c4d8bb2bce24cd8d14d2d4238 refs/heads/master
|
||||||
|
2b7c4692e12c109263cab51b416fcc835ddd7eae refs/tags/sub/v0.0.10
|
||||||
|
883885166298d79a0561d571a3044ec5db2e7c28 refs/tags/sub/v0.0.9
|
||||||
|
db89fc573cfb939faf0aa0660671eb4cf8b8b673 refs/tags/v0.1.0
|
||||||
|
1abe41965749e50828dd41de8d12c6ebc8e4e131 refs/tags/v0.2.0
|
||||||
|
-- sub/go.mod --
|
||||||
|
module vcs-test.golang.org/git/prefixtagtests.git/sub
|
||||||
|
-- sub/sub.go --
|
||||||
|
package sub
|
||||||
44
src/cmd/go/testdata/vcstest/hg/tagtests.txt
vendored
Normal file
44
src/cmd/go/testdata/vcstest/hg/tagtests.txt
vendored
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
handle git
|
||||||
|
|
||||||
|
env GIT_AUTHOR_NAME='Jay Conrod'
|
||||||
|
env GIT_AUTHOR_EMAIL='jayconrod@google.com'
|
||||||
|
env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME
|
||||||
|
env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL
|
||||||
|
|
||||||
|
at 2019-05-09T18:56:25-04:00
|
||||||
|
|
||||||
|
git init
|
||||||
|
|
||||||
|
git add go.mod tagtests.go
|
||||||
|
git commit -m 'create module tagtests'
|
||||||
|
git branch -m master
|
||||||
|
git branch b
|
||||||
|
|
||||||
|
git add v0.2.1
|
||||||
|
git commit -m 'v0.2.1'
|
||||||
|
git tag 'v0.2.1'
|
||||||
|
|
||||||
|
git checkout b
|
||||||
|
git add 'v0.2.2'
|
||||||
|
git commit -m 'v0.2.2'
|
||||||
|
git tag 'v0.2.2'
|
||||||
|
|
||||||
|
git checkout master
|
||||||
|
git merge b -m 'merge'
|
||||||
|
|
||||||
|
git show-ref --tags --heads
|
||||||
|
cmp stdout .git-refs
|
||||||
|
|
||||||
|
-- .git-refs --
|
||||||
|
59356c8cd18c5fe9a598167d98a6843e52d57952 refs/heads/b
|
||||||
|
c7818c24fa2f3f714c67d0a6d3e411c85a518d1f refs/heads/master
|
||||||
|
101c49f5af1b2466332158058cf5f03c8cca6429 refs/tags/v0.2.1
|
||||||
|
59356c8cd18c5fe9a598167d98a6843e52d57952 refs/tags/v0.2.2
|
||||||
|
-- go.mod --
|
||||||
|
module vcs-test.golang.org/git/tagtests.git
|
||||||
|
-- tagtests.go --
|
||||||
|
package tagtests
|
||||||
|
-- v0.2.1 --
|
||||||
|
v0.2.1
|
||||||
|
-- v0.2.2 --
|
||||||
|
v0.2.2
|
||||||
Loading…
Add table
Add a link
Reference in a new issue