| [short] skip |
| [!exec: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 or RepoSum. |
| go mod download -x -json vcs-test.golang.org/hg/hello.hg@v0.0.0-20170922011414-e483a7d9f8c9 |
| stderr 'hg( .*)* pull' |
| cp stdout hellopseudo.json |
| ! stdout '"(Query|TagPrefix|TagSum|Ref|RepoSum)"' |
| stdout '"Version": "v0.0.0-20170922011414-e483a7d9f8c9"' |
| stdout '"VCS": "hg"' |
| stdout '"URL": ".*/hg/hello"' |
| stdout '"Hash": "e483a7d9f8c9b4bc57430bdd8f81f0a65e4011c0"' |
| ! 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-20170922011414-e483a7d9f8c9"' |
| stdout '"VCS": "hg"' |
| stdout '"URL": ".*/hg/hello"' |
| stdout '"Query": "latest"' |
| ! stdout '"TagPrefix"' |
| ! stdout '"TagSum"' |
| stdout '"Ref": "tip"' |
| stdout '"RepoSum": "r1:blLvkhBriVMV[+]6Il4Ub43wlyWXIe1NpobTelF0peaG0="' |
| stdout '"Hash": "e483a7d9f8c9b4bc57430bdd8f81f0a65e4011c0"' |
| |
| # 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-20170922011414-e483a7d9f8c9 |
| ! stderr 'hg( .*)* pull' |
| cp stdout hellopseudo2.json |
| cmpenv hellopseudo.json hellopseudo2.json |
| |
| # go mod download hg/hello@hash needs to check RepoSum to find pseudoversion base, |
| # which does a refreshing hg pull. |
| go mod download -x -json vcs-test.golang.org/hg/hello.hg@e483a7d9f8c9 |
| stderr 'hg( .*)* pull' |
| cp stdout hellohash.json |
| stdout '"Version": "v0.0.0-20170922011414-e483a7d9f8c9"' |
| stdout '"Query": "e483a7d9f8c9"' |
| stdout '"VCS": "hg"' |
| stdout '"URL": ".*/hg/hello"' |
| stdout '"Hash": "e483a7d9f8c9b4bc57430bdd8f81f0a65e4011c0"' |
| stdout '"RepoSum": "r1:blLvkhBriVMV[+]6Il4Ub43wlyWXIe1NpobTelF0peaG0="' |
| |
| # go mod download vcstest/hello/v9 should fail, still print origin info |
| # hg uses RepoSum instead of TagSum to describe failure condition. |
| ! 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"' |
| stdout '"RepoSum": "r1:blLvkhBriVMV[+]6Il4Ub43wlyWXIe1NpobTelF0peaG0="' |
| stdout '"Hash": "e483a7d9f8c9b4bc57430bdd8f81f0a65e4011c0"' |
| |
| # go mod download vcstest/hello/sub/v9 should also fail, print origin info |
| # hg uses RepoSum instead of TagSum to describe failure condition. |
| ! 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"' |
| stdout '"RepoSum": "r1:blLvkhBriVMV[+]6Il4Ub43wlyWXIe1NpobTelF0peaG0="' |
| stdout '"Hash": "e483a7d9f8c9b4bc57430bdd8f81f0a65e4011c0"' |
| |
| # 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:blLvkhBriVMV[+]6Il4Ub43wlyWXIe1NpobTelF0peaG0="' |
| ! 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:blLvkhBriVMV[+]6Il4Ub43wlyWXIe1NpobTelF0peaG0="' |
| ! 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:blLvkhBriVMV[+]6Il4Ub43wlyWXIe1NpobTelF0peaG0="' |
| ! stdout '"(TagPrefix|TagSum|Ref|Hash)"' |
| |
| # go mod download vcstest/tagtests should invoke hg, print origin info |
| # Need RepoSum to lock in tagged "latest". |
| 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"' |
| stdout '"RepoSum": "r1:8dnv906Aq1vb9YpNl9pslfva0VfG9enKb6O6NWs0xF0="' |
| stdout '"Hash": "1e531550e864b16f25013cfbbf2d8e7cf07a0374"' |
| |
| # go mod download vcstest/tagtests@v0.2.2 should print origin info, no TagSum or RepoSum 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 '"RepoSum"' |
| stdout '"Ref": "v0.2.2"' |
| stdout '"Hash": "1e531550e864b16f25013cfbbf2d8e7cf07a0374"' |
| |
| # go mod download vcstest/tagtests@default needs a RepoSum again |
| go mod download -x -json vcs-test.golang.org/hg/tagtests.hg@default |
| cp stdout tagtestsdefault.json |
| stdout '"Version": "v0.2.3-0.20190509225625-8d0b18b816df"' |
| stdout '"Query": "default"' |
| stdout '"VCS": "hg"' |
| stdout '"URL": ".*/hg/tagtests"' |
| ! stdout '"TagPrefix"' |
| ! stdout '"TagSum"' |
| stdout '"RepoSum": "r1:8dnv906Aq1vb9YpNl9pslfva0VfG9enKb6O6NWs0xF0="' |
| stdout '"Hash": "8d0b18b816df5e9c564761b405b1d7949c24ee6b"' |
| |
| # 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 '"Ref": "sub/v0.0.10"' |
| ! stdout '"TagPrefix"' |
| ! stdout '"TagSum"' |
| stdout '"RepoSum": "r1:YWOcei109p5Kohsr5xnSYlaQXmpT3iWZHZhRbfMoTkc="' |
| stdout '"Hash": "1cc0dfcc254cb8901799e7f7ae182c04019b7a88"' |
| |
| # 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@default |
| 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-20170922011414-e483a7d9f8c9"' |
| stdout '"VCS": "hg"' |
| stdout '"URL": ".*/hg/hello"' |
| ! stdout '"TagPrefix"' |
| stdout '"RepoSum": "r1:blLvkhBriVMV[+]6Il4Ub43wlyWXIe1NpobTelF0peaG0="' |
| stdout '"Ref": "tip"' |
| stdout '"Hash": "e483a7d9f8c9b4bc57430bdd8f81f0a65e4011c0"' |
| ! stdout '"(Dir|Info|GoMod|Zip)"' |
| |
| # 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-20170922011414-e483a7d9f8c9 |
| ! stderr 'hg( .*)* pull' |
| stdout '"Reuse": true' |
| stdout '"Version": "v0.0.0-20170922011414-e483a7d9f8c9"' |
| stdout '"VCS": "hg"' |
| stdout '"URL": ".*/hg/hello"' |
| ! stdout '"(Query|TagPrefix|TagSum|Ref)"' |
| stdout '"Hash": "e483a7d9f8c9b4bc57430bdd8f81f0a65e4011c0"' |
| ! 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@e483a7d9f8c9 |
| ! stderr 'hg( .*)* pull' |
| stdout '"Reuse": true' |
| stdout '"Query": "e483a7d9f8c9"' |
| stdout '"Version": "v0.0.0-20170922011414-e483a7d9f8c9"' |
| stdout '"VCS": "hg"' |
| stdout '"URL": ".*/hg/hello"' |
| ! stdout '"(TagPrefix|Ref)"' |
| stdout '"RepoSum": "r1:blLvkhBriVMV[+]6Il4Ub43wlyWXIe1NpobTelF0peaG0="' |
| stdout '"Hash": "e483a7d9f8c9b4bc57430bdd8f81f0a65e4011c0"' |
| ! stdout '"(Dir|Info|GoMod|Zip)"' |
| |
| # 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 '"RepoSum": "r1:blLvkhBriVMV[+]6Il4Ub43wlyWXIe1NpobTelF0peaG0="' |
| stdout '"Hash": "e483a7d9f8c9b4bc57430bdd8f81f0a65e4011c0"' |
| ! stdout '"(Dir|Info|GoMod|Zip)"' |
| |
| # 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"' |
| stdout '"RepoSum": "r1:blLvkhBriVMV[+]6Il4Ub43wlyWXIe1NpobTelF0peaG0="' |
| stdout '"Ref": "tip"' |
| stdout '"Hash": "e483a7d9f8c9b4bc57430bdd8f81f0a65e4011c0"' |
| ! stdout '"(Dir|Info|GoMod|Zip)"' |
| |
| # 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:blLvkhBriVMV[+]6Il4Ub43wlyWXIe1NpobTelF0peaG0="' |
| ! 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:blLvkhBriVMV[+]6Il4Ub43wlyWXIe1NpobTelF0peaG0="' |
| ! 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:blLvkhBriVMV[+]6Il4Ub43wlyWXIe1NpobTelF0peaG0="' |
| ! 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 '"RepoSum": "r1:8dnv906Aq1vb9YpNl9pslfva0VfG9enKb6O6NWs0xF0="' |
| stdout '"Hash": "1e531550e864b16f25013cfbbf2d8e7cf07a0374"' |
| ! stdout '"(Dir|Info|GoMod|Zip)"' |
| |
| # 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": "v0.2.2"' |
| stdout '"Hash": "1e531550e864b16f25013cfbbf2d8e7cf07a0374"' |
| ! stdout '"(Dir|Info|GoMod|Zip|RepoSum)"' |
| |
| # reuse go mod download vcstest/tagtests@default result |
| go clean -modcache |
| go mod download -reuse=tagtestsdefault.json -x -json vcs-test.golang.org/hg/tagtests.hg@default |
| ! stderr 'hg( .*)* pull' |
| stdout '"Reuse": true' |
| stdout '"Version": "v0.2.3-0.20190509225625-8d0b18b816df"' |
| stdout '"Query": "default"' |
| stdout '"VCS": "hg"' |
| stdout '"URL": ".*/hg/tagtests"' |
| ! stdout '"TagPrefix"' |
| stdout '"RepoSum": "r1:8dnv906Aq1vb9YpNl9pslfva0VfG9enKb6O6NWs0xF0="' |
| stdout '"Ref": "default"' |
| stdout '"Hash": "8d0b18b816df5e9c564761b405b1d7949c24ee6b"' |
| ! stdout '"(Dir|Info|GoMod|Zip)"' |
| |
| # reuse go mod download vcstest/tagtests@default result again with all.json |
| go clean -modcache |
| go mod download -reuse=all.json -x -json vcs-test.golang.org/hg/tagtests.hg@default |
| ! stderr 'hg( .*)* pull' |
| stdout '"Reuse": true' |
| stdout '"Version": "v0.2.3-0.20190509225625-8d0b18b816df"' |
| stdout '"Query": "default"' |
| stdout '"VCS": "hg"' |
| stdout '"URL": ".*/hg/tagtests"' |
| ! stdout '"TagPrefix"' |
| stdout '"RepoSum": "r1:8dnv906Aq1vb9YpNl9pslfva0VfG9enKb6O6NWs0xF0="' |
| stdout '"Ref": "default"' |
| stdout '"Hash": "8d0b18b816df5e9c564761b405b1d7949c24ee6b"' |
| ! stdout '"(Dir|Info|GoMod|Zip)"' |
| |
| # 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 '"RepoSum": "r1:YWOcei109p5Kohsr5xnSYlaQXmpT3iWZHZhRbfMoTkc="' |
| stdout '"Ref": "sub/v0.0.10"' |
| stdout '"Hash": "1cc0dfcc254cb8901799e7f7ae182c04019b7a88"' |
| ! 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@default |
| ! 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 '1e5315' '1e5315XXX' 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": "v0.2.2"' |
| stdout '"Hash": "1e531550e864b16f25013cfbbf2d8e7cf07a0374"' |
| 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 '\"VCS\":' '\"Subdir\":\"subdir\", \"VCS\":' 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 RepoSum |
| go clean -modcache |
| cp tagtests.json tagtestsbadreposum.json |
| replace '8dnv90' '8dnv90XXX' tagtestsbadreposum.json |
| go mod download -reuse=tagtestsbadreposum.json -x -json vcs-test.golang.org/hg/tagtests.hg@latest |
| ! stdout '"Reuse": true' |
| stdout '"RepoSum": "r1:8dnv906Aq1vb9YpNl9pslfva0VfG9enKb6O6NWs0xF0="' |
| |
| # 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-20170922011414-e483a7d9f8c9"' |
| stdout '"VCS": "hg"' |
| stdout '"URL": ".*/hg/hello"' |
| stdout '"Query": "latest"' |
| stdout '"Hash": "e483a7d9f8c9b4bc57430bdd8f81f0a65e4011c0"' |
| stdout '"RepoSum": "r1:blLvkhBriVMV[+]6Il4Ub43wlyWXIe1NpobTelF0peaG0="' |
| |
| # 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-20170922011414-e483a7d9f8c9"' |
| stdout '"VCS": "hg"' |
| stdout '"URL": ".*/hg/hello"' |
| stdout '"Query": "latest"' |
| stdout '"RepoSum": "r1:blLvkhBriVMV[+]6Il4Ub43wlyWXIe1NpobTelF0peaG0="' |
| stdout '"Hash": "e483a7d9f8c9b4bc57430bdd8f81f0a65e4011c0"' |
| |
| # reuse with stale list |
| go clean -modcache |
| cp hellolist.json hellolistbad.json |
| replace 'blLvkhBri' '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 '"RepoSum": "r1:blLvkhBriVMV[+]6Il4Ub43wlyWXIe1NpobTelF0peaG0="' |
| |
| # 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 '"Ref": "v0.2.2"' |
| stdout '"Hash": "1e531550e864b16f25013cfbbf2d8e7cf07a0374"' |
| stdout '"RepoSum": "r1:8dnv906Aq1vb9YpNl9pslfva0VfG9enKb6O6NWs0xF0="' |
| |
| # 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 '"Ref": "v0.2.2"' |
| stdout '"Hash": "1e531550e864b16f25013cfbbf2d8e7cf07a0374"' |
| stdout '"RepoSum": "r1:8dnv906Aq1vb9YpNl9pslfva0VfG9enKb6O6NWs0xF0="' |
| |
| # reuse with stale list |
| go clean -modcache |
| cp taglist.json taglistbad.json |
| replace '8dnv906' '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 '"RepoSum": "r1:8dnv906Aq1vb9YpNl9pslfva0VfG9enKb6O6NWs0xF0="' |