diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-16 19:25:22 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-16 19:25:22 +0000 |
commit | f6ad4dcef54c5ce997a4bad5a6d86de229015700 (patch) | |
tree | 7cfa4e31ace5c2bd95c72b154d15af494b2bcbef /src/cmd/go/testdata/vcstest | |
parent | Initial commit. (diff) | |
download | golang-1.22-f6ad4dcef54c5ce997a4bad5a6d86de229015700.tar.xz golang-1.22-f6ad4dcef54c5ce997a4bad5a6d86de229015700.zip |
Adding upstream version 1.22.1.upstream/1.22.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/cmd/go/testdata/vcstest')
47 files changed, 2456 insertions, 0 deletions
diff --git a/src/cmd/go/testdata/vcstest/README b/src/cmd/go/testdata/vcstest/README new file mode 100644 index 0000000..f3a0e15 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/README @@ -0,0 +1,14 @@ +The scripts in this directory set up version-control repos for use in +tests of cmd/go and its subpackages. + +They are written in a dialect of the same script language as in +cmd/go/testdata/script, and the outputs are hosted by the server in +cmd/go/internal/vcweb. + +To see the conditions and commands available for these scripts, run: + + go test cmd/go/internal/vcweb -v --run=TestHelp + +To host these scripts in a standalone server, run: + + go test cmd/go/internal/vcweb/vcstest -v --port=0 diff --git a/src/cmd/go/testdata/vcstest/auth/or401.txt b/src/cmd/go/testdata/vcstest/auth/or401.txt new file mode 100644 index 0000000..10da48d --- /dev/null +++ b/src/cmd/go/testdata/vcstest/auth/or401.txt @@ -0,0 +1,29 @@ +handle auth + +modzip vcs-test.golang.org/auth/or401/@v/v0.0.0-20190405155051-52df474c8a8b.zip vcs-test.golang.org/auth/or401@v0.0.0-20190405155051-52df474c8a8b .moddir + +-- .access -- +{ + "Username": "aladdin", + "Password": "opensesame", + "StatusCode": 401, + "Message": "ACCESS DENIED, buddy" +} +-- index.html -- +<!DOCTYPE html> +<html> +<meta name="go-import" content="vcs-test.golang.org/auth/or401 mod https://vcs-test.golang.org/auth/or401"> +-- vcs-test.golang.org/auth/or401/@v/list -- +v0.0.0-20190405155051-52df474c8a8b +-- vcs-test.golang.org/auth/or401/@v/v0.0.0-20190405155051-52df474c8a8b.info -- +{"Version":"v0.0.0-20190405155051-52df474c8a8b","Time":"2019-04-05T15:50:51Z"} +-- vcs-test.golang.org/auth/or401/@v/v0.0.0-20190405155051-52df474c8a8b.mod -- +module vcs-test.golang.org/auth/or401 + +go 1.13 +-- .moddir/go.mod -- +module vcs-test.golang.org/auth/or401 + +go 1.13 +-- .moddir/or401.go -- +package or401 diff --git a/src/cmd/go/testdata/vcstest/auth/or404.txt b/src/cmd/go/testdata/vcstest/auth/or404.txt new file mode 100644 index 0000000..9e393c7 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/auth/or404.txt @@ -0,0 +1,30 @@ +handle auth + +modzip vcs-test.golang.org/auth/or404/@v/v0.0.0-20190405155004-2234c475880e.zip vcs-test.golang.org/auth/or404@v0.0.0-20190405155004-2234c475880e .moddir + +-- .access -- +{ + "Username": "aladdin", + "Password": "opensesame", + "StatusCode": 404, + "Message": "File? What file?" +} +-- index.html -- +<!DOCTYPE html> +<html> +<meta name="go-import" content="vcs-test.golang.org/auth/or404 mod https://vcs-test.golang.org/auth/or404"> +-- vcs-test.golang.org/auth/or404/@v/list -- +v0.0.0-20190405155004-2234c475880e +-- vcs-test.golang.org/auth/or404/@v/v0.0.0-20190405155004-2234c475880e.info -- +{"Version":"v0.0.0-20190405155004-2234c475880e","Time":"2019-04-05T15:50:04Z"} +-- vcs-test.golang.org/auth/or404/@v/v0.0.0-20190405155004-2234c475880e.mod -- +module vcs-test.golang.org/auth/or404 + +go 1.13 +-- .moddir/go.mod -- +module vcs-test.golang.org/auth/or404 + +go 1.13 +-- .moddir/or404.go -- +package or404 +-- vcs-test.golang.org/go/modauth404/@v/list -- diff --git a/src/cmd/go/testdata/vcstest/auth/ormanylines.txt b/src/cmd/go/testdata/vcstest/auth/ormanylines.txt new file mode 100644 index 0000000..41cf5fe --- /dev/null +++ b/src/cmd/go/testdata/vcstest/auth/ormanylines.txt @@ -0,0 +1,9 @@ +handle auth + +-- .access -- +{ + "Username": "aladdin", + "Password": "opensesame", + "StatusCode": 404, + "Message": "line 1\nline 2\nline 3\nline 4\nline 5\nline 6\nline 7\nline 8\nline 9\nline 10\nline 11\nline 12\nline 13\nline 14\nline 15\nline 16" +} diff --git a/src/cmd/go/testdata/vcstest/auth/oronelongline.txt b/src/cmd/go/testdata/vcstest/auth/oronelongline.txt new file mode 100644 index 0000000..d27653a --- /dev/null +++ b/src/cmd/go/testdata/vcstest/auth/oronelongline.txt @@ -0,0 +1,9 @@ +handle auth + +-- .access -- +{ + "Username": "aladdin", + "Password": "opensesame", + "StatusCode": 404, + "Message": "blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah" +} diff --git a/src/cmd/go/testdata/vcstest/bzr/hello.txt b/src/cmd/go/testdata/vcstest/bzr/hello.txt new file mode 100644 index 0000000..5931585 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/bzr/hello.txt @@ -0,0 +1,33 @@ +handle bzr + +env BZR_EMAIL='Russ Cox <rsc@google.com>' +env EMAIL='Russ Cox <rsc@google.com>' + +bzr init-repo . + +bzr init b +cd b +cp ../hello.go . +bzr add hello.go +bzr commit --commit-time='2017-09-21 21:20:12 -0400' -m 'hello world' +bzr push .. +cd .. +rm b + +bzr log +cmp stdout .bzr-log + +-- .bzr-log -- +------------------------------------------------------------ +revno: 1 +committer: Russ Cox <rsc@google.com> +branch nick: b +timestamp: Thu 2017-09-21 21:20:12 -0400 +message: + hello world +-- hello.go -- +package main + +func main() { + println("hello, world") +} diff --git a/src/cmd/go/testdata/vcstest/fossil/hello.txt b/src/cmd/go/testdata/vcstest/fossil/hello.txt new file mode 100644 index 0000000..48fb774 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/fossil/hello.txt @@ -0,0 +1,22 @@ +handle fossil + +env USER=rsc +fossil init --date-override 2017-09-22T01:15:36Z hello.fossil +fossil open --keep hello.fossil + +fossil add hello.go +fossil commit --no-prompt --nosign --date-override 2017-09-22T01:19:07Z --comment 'hello world' + +fossil timeline --oneline +cmp stdout .fossil-timeline + +-- .fossil-timeline -- +d4c7dcdc29 hello world +58da0d15e9 initial empty check-in ++++ no more data (2) +++ +-- hello.go -- +package main + +func main() { + println("hello, world") +} diff --git a/src/cmd/go/testdata/vcstest/git/commit-after-tag.txt b/src/cmd/go/testdata/vcstest/git/commit-after-tag.txt new file mode 100644 index 0000000..eb13a63 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/git/commit-after-tag.txt @@ -0,0 +1,39 @@ +handle git + +env GIT_AUTHOR_NAME='Bryan C. Mills' +env GIT_AUTHOR_EMAIL='bcmills@google.com' +env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME +env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL + +git init + +at 2019-07-15T17:16:47-04:00 +git add go.mod main.go +git commit -m 'all: add go.mod and main.go' +git branch -m master +git tag v1.0.0 + +at 2019-07-15T17:17:27-04:00 +cp _next/main.go main.go +git add main.go +git commit -m 'add init function' + +git log --oneline --decorate=short +cmp stdout .git-log + +-- .git-log -- +b325d82 (HEAD -> master) add init function +8da67e0 (tag: v1.0.0) all: add go.mod and main.go +-- go.mod -- +module vcs-test.golang.org/git/commit-after-tag.git + +go 1.13 +-- main.go -- +package main + +func main() {} +-- _next/main.go -- +package main + +func main() {} +func init() {} diff --git a/src/cmd/go/testdata/vcstest/git/empty-v2-without-v1.txt b/src/cmd/go/testdata/vcstest/git/empty-v2-without-v1.txt new file mode 100644 index 0000000..afe407e --- /dev/null +++ b/src/cmd/go/testdata/vcstest/git/empty-v2-without-v1.txt @@ -0,0 +1,24 @@ +handle git + +env GIT_AUTHOR_NAME='Bryan C. Mills' +env GIT_AUTHOR_EMAIL='bcmills@google.com' +env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME +env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL + +git init + +at 2019-10-07T14:15:32-04:00 +git add go.mod +git commit -m 'add go.mod file without go source files' +git branch -m master +git tag v2.0.0 + +git log --oneline --decorate=short +cmp stdout .git-log + +-- .git-log -- +122733c (HEAD -> master, tag: v2.0.0) add go.mod file without go source files +-- go.mod -- +module vcs-test.golang.org/git/empty-v2-without-v1.git/v2 + +go 1.14 diff --git a/src/cmd/go/testdata/vcstest/git/emptytest.txt b/src/cmd/go/testdata/vcstest/git/emptytest.txt new file mode 100644 index 0000000..4526202 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/git/emptytest.txt @@ -0,0 +1,21 @@ +handle git + +env GIT_AUTHOR_NAME='Russ Cox' +env GIT_AUTHOR_EMAIL='rsc@golang.org' +env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME +env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL + +git init + +at 2018-07-03T22:35:49-04:00 +git add go.mod +git commit -m 'initial' +git branch -m master + +git log --oneline +cmp stdout .git-log + +-- .git-log -- +7bb9146 initial +-- go.mod -- +module vcs-test.golang.org/git/emptytest.git diff --git a/src/cmd/go/testdata/vcstest/git/gitrepo1.txt b/src/cmd/go/testdata/vcstest/git/gitrepo1.txt new file mode 100644 index 0000000..7919089 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/git/gitrepo1.txt @@ -0,0 +1,68 @@ +handle git + +env GIT_AUTHOR_NAME='Russ Cox' +env GIT_AUTHOR_EMAIL='rsc@golang.org' +env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME +env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL + +git init + +at 2018-04-17T15:43:22-04:00 +unquote '' +cp stdout README +git add README +git commit -a -m 'empty README' +git branch -m master +git tag v1.2.3 + +at 2018-04-17T15:45:48-04:00 +git branch v2 +git checkout v2 +echo 'v2' +cp stdout v2 +git add v2 +git commit -a -m 'v2' +git tag v2.3 +git tag v2.0.1 +git branch v2.3.4 + +at 2018-04-17T16:00:19-04:00 +echo 'intermediate' +cp stdout foo.txt +git add foo.txt +git commit -a -m 'intermediate' + +at 2018-04-17T16:00:32-04:00 +echo 'another' +cp stdout another.txt +git add another.txt +git commit -a -m 'another' +git tag v2.0.2 + +at 2018-04-17T16:16:52-04:00 +git checkout master +git branch v3 +git checkout v3 +mkdir v3/sub/dir +echo 'v3/sub/dir/file' +cp stdout v3/sub/dir/file.txt +git add v3 +git commit -a -m 'add v3/sub/dir/file.txt' + +at 2018-04-17T22:23:00-04:00 +git checkout master +git tag -a v1.2.4-annotated -m 'v1.2.4-annotated' + +git show-ref --tags --heads +cmp stdout .git-refs + +-- .git-refs -- +ede458df7cd0fdca520df19a33158086a8a68e81 refs/heads/master +9d02800338b8a55be062c838d1f02e0c5780b9eb refs/heads/v2 +76a00fb249b7f93091bc2c89a789dab1fc1bc26f refs/heads/v2.3.4 +a8205f853c297ad2c3c502ba9a355b35b7dd3ca5 refs/heads/v3 +ede458df7cd0fdca520df19a33158086a8a68e81 refs/tags/v1.2.3 +b004e48a345a86ed7a2fb7debfa7e0b2f9b0dd91 refs/tags/v1.2.4-annotated +76a00fb249b7f93091bc2c89a789dab1fc1bc26f refs/tags/v2.0.1 +9d02800338b8a55be062c838d1f02e0c5780b9eb refs/tags/v2.0.2 +76a00fb249b7f93091bc2c89a789dab1fc1bc26f refs/tags/v2.3 diff --git a/src/cmd/go/testdata/vcstest/git/hello.txt b/src/cmd/go/testdata/vcstest/git/hello.txt new file mode 100644 index 0000000..17ba09c --- /dev/null +++ b/src/cmd/go/testdata/vcstest/git/hello.txt @@ -0,0 +1,25 @@ +handle git + +env GIT_AUTHOR_NAME=bwk +env GIT_AUTHOR_EMAIL=bwk +env GIT_COMMITTER_NAME='Russ Cox' +env GIT_COMMITTER_EMAIL='rsc@golang.org' + +git init + +at 2017-09-21T21:05:58-04:00 +git add hello.go +git commit -a -m 'hello' +git branch -m master + +git log --oneline --decorate=short +cmp stdout .git-log + +-- .git-log -- +fc3a09f (HEAD -> master) hello +-- hello.go -- +package main + +func main() { + println("hello, world") +} diff --git a/src/cmd/go/testdata/vcstest/git/insecurerepo.txt b/src/cmd/go/testdata/vcstest/git/insecurerepo.txt new file mode 100644 index 0000000..e0ea62c --- /dev/null +++ b/src/cmd/go/testdata/vcstest/git/insecurerepo.txt @@ -0,0 +1,32 @@ +handle git + +env GIT_AUTHOR_NAME='Bryan C. Mills' +env GIT_AUTHOR_EMAIL='bcmills@google.com' +env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME +env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL + +git init + +at 2019-04-03T13:30:35-04:00 +git add go.mod +git commit -m 'all: initialize module' +git branch -m master + +at 2019-09-04T14:39:48-04:00 +git add main.go +git commit -m 'main: add Go source file' + +git log --oneline --decorate=short +cmp stdout .git-log + +-- .git-log -- +6fecd21 (HEAD -> master) main: add Go source file +d1a15cd all: initialize module +-- go.mod -- +module vcs-test.golang.org/insecure/go/insecure + +go 1.13 +-- main.go -- +package main + +func main() {} diff --git a/src/cmd/go/testdata/vcstest/git/issue47650.txt b/src/cmd/go/testdata/vcstest/git/issue47650.txt new file mode 100644 index 0000000..5204078 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/git/issue47650.txt @@ -0,0 +1,42 @@ +handle git + +env GIT_AUTHOR_NAME='Bryan C. Mills' +env GIT_AUTHOR_EMAIL='bcmills@google.com' +env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME +env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL + +git init + +at 2021-08-11T13:52:00-04:00 +git add cmd +git commit -m 'add cmd/issue47650' +git branch -m main +git tag v0.1.0 + +git add go.mod +git commit -m 'add go.mod' + +git show-ref --tags --heads +cmp stdout .git-refs + +git log --oneline --decorate=short +cmp stdout .git-log + +-- .git-refs -- +21535ef346c3e79fd09edd75bd4725f06c828e43 refs/heads/main +4d237df2dbfc8a443af2f5e84be774f08a2aed0c refs/tags/v0.1.0 +-- .git-log -- +21535ef (HEAD -> main) add go.mod +4d237df (tag: v0.1.0) add cmd/issue47650 +-- go.mod -- +module vcs-test.golang.org/git/issue47650.git + +go 1.17 +-- cmd/issue47650/main.go -- +package main + +import "os" + +func main() { + os.Stdout.WriteString("Hello, world!") +} diff --git a/src/cmd/go/testdata/vcstest/git/issue61415.txt b/src/cmd/go/testdata/vcstest/git/issue61415.txt new file mode 100644 index 0000000..5b8bca6 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/git/issue61415.txt @@ -0,0 +1,42 @@ +handle git + +env GIT_AUTHOR_NAME='Bryan C. Mills' +env GIT_AUTHOR_EMAIL='bcmills@google.com' +env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME +env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL + +at 2023-11-14T13:00:00-05:00 + +git init + +git add go.mod nested +git commit -m 'nested: add go.mod' +git branch -m main + +git tag has-nested + +at 2023-11-14T13:00:01-05:00 + +git rm -r nested +git commit -m 'nested: delete subdirectory' + +git show-ref --tags --heads +cmp stdout .git-refs + +git log --pretty=oneline +cmp stdout .git-log + +-- .git-refs -- +f213069baa68ec26412fb373c7cf6669db1f8e69 refs/heads/main +08a4fa6bb9c04ffba03b26ae427b0d6335d90a2a refs/tags/has-nested +-- .git-log -- +f213069baa68ec26412fb373c7cf6669db1f8e69 nested: delete subdirectory +08a4fa6bb9c04ffba03b26ae427b0d6335d90a2a nested: add go.mod +-- go.mod -- +module vcs-test.golang.org/git/issue61415.git + +go 1.20 +-- nested/go.mod -- +module vcs-test.golang.org/git/issue61415.git/nested + +go 1.20 diff --git a/src/cmd/go/testdata/vcstest/git/mainonly.txt b/src/cmd/go/testdata/vcstest/git/mainonly.txt new file mode 100644 index 0000000..d294e34 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/git/mainonly.txt @@ -0,0 +1,23 @@ +handle git + +env GIT_AUTHOR_NAME='Bryan C. Mills' +env GIT_AUTHOR_EMAIL='bcmills@google.com' +env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME +env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL + +git init + +at 2019-09-05T14:07:43-04:00 +git add main.go +git commit -a -m 'add main.go' +git branch -m master + +git log --oneline --decorate=short +cmp stdout .git-log + +-- .git-log -- +8a27e8b (HEAD -> master) add main.go +-- main.go -- +package main + +func main() {} diff --git a/src/cmd/go/testdata/vcstest/git/missingrepo.txt b/src/cmd/go/testdata/vcstest/git/missingrepo.txt new file mode 100644 index 0000000..b947d8c --- /dev/null +++ b/src/cmd/go/testdata/vcstest/git/missingrepo.txt @@ -0,0 +1,10 @@ +handle dir + +-- missingrepo-git/index.html -- +<!DOCTYPE html> +<html> +<meta name="go-import" content="vcs-test.golang.org/go/missingrepo/missingrepo-git git https://vcs-test.golang.org/git/missingrepo"> +-- missingrepo-git/notmissing/index.html -- +<!DOCTYPE html> +<html> +<meta name="go-import" content="vcs-test.golang.org/go/missingrepo/missingrepo-git/notmissing git https://vcs-test.golang.org/git/mainonly"> diff --git a/src/cmd/go/testdata/vcstest/git/modlegacy1-new.txt b/src/cmd/go/testdata/vcstest/git/modlegacy1-new.txt new file mode 100644 index 0000000..ee14454 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/git/modlegacy1-new.txt @@ -0,0 +1,33 @@ +handle git + +env GIT_AUTHOR_NAME='Russ Cox' +env GIT_AUTHOR_EMAIL='rsc@golang.org' +env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME +env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL + +git init + +at 2018-04-25T11:00:57-04:00 +git add go.mod new.go p1 p2 +git commit -m 'initial commit' +git branch -m master + +git log --oneline --decorate=short +cmp stdout .git-log + +-- .git-log -- +36cc50a (HEAD -> master) initial commit +-- go.mod -- +module "vcs-test.golang.org/git/modlegacy1-new.git/v2" +-- new.go -- +package new + +import _ "vcs-test.golang.org/git/modlegacy1-new.git/v2/p2" +-- p1/p1.go -- +package p1 + +import _ "vcs-test.golang.org/git/modlegacy1-old.git/p2" +import _ "vcs-test.golang.org/git/modlegacy1-new.git" +import _ "vcs-test.golang.org/git/modlegacy1-new.git/p2" +-- p2/p2.go -- +package p2 diff --git a/src/cmd/go/testdata/vcstest/git/modlegacy1-old.txt b/src/cmd/go/testdata/vcstest/git/modlegacy1-old.txt new file mode 100644 index 0000000..bca8f06 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/git/modlegacy1-old.txt @@ -0,0 +1,27 @@ +handle git + +env GIT_AUTHOR_NAME='Russ Cox' +env GIT_AUTHOR_EMAIL='rsc@golang.org' +env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME +env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL + +git init + +at 2018-04-25T10:59:24-04:00 +git add p1 p2 +git commit -m 'initial commit' +git branch -m master + +git log --oneline --decorate=short +cmp stdout .git-log + +-- .git-log -- +6b4ba8b (HEAD -> master) initial commit +-- p1/p1.go -- +package p1 + +import _ "vcs-test.golang.org/git/modlegacy1-old.git/p2" +import _ "vcs-test.golang.org/git/modlegacy1-new.git/p1" +import _ "vcs-test.golang.org/git/modlegacy1-new.git" +-- p2/p2.go -- +package p2 diff --git a/src/cmd/go/testdata/vcstest/git/no-tags.txt b/src/cmd/go/testdata/vcstest/git/no-tags.txt new file mode 100644 index 0000000..5ff0091 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/git/no-tags.txt @@ -0,0 +1,27 @@ +handle git + +env GIT_AUTHOR_NAME='Bryan C. Mills' +env GIT_AUTHOR_EMAIL='bcmills@google.com' +env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME +env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL + +git init + +at 2019-07-15T17:20:47-04:00 +git add go.mod main.go +git commit -m 'all: add go.mod and main.go' +git branch -m master + +git log --oneline --decorate=short +cmp stdout .git-log + +-- .git-log -- +e706ba1 (HEAD -> master) all: add go.mod and main.go +-- go.mod -- +module vcs-test.golang.org/git/no-tags.git + +go 1.13 +-- main.go -- +package main + +func main() {} diff --git a/src/cmd/go/testdata/vcstest/git/odd-tags.txt b/src/cmd/go/testdata/vcstest/git/odd-tags.txt new file mode 100644 index 0000000..8e24867 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/git/odd-tags.txt @@ -0,0 +1,49 @@ +handle git + +env GIT_AUTHOR_NAME='Bryan C. Mills' +env GIT_AUTHOR_EMAIL='bcmills@google.com' +env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME +env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL + +git init + +at 2022-02-23T13:48:02-05:00 +git add README.txt +git commit -m 'initial state' +git branch -m main +git tag 'v2.0.0+incompatible' + +at 2022-02-23T13:48:35-05:00 +git rm -r README.txt +git add go.mod +git commit -m 'migrate to Go modules' +git tag 'v0.1.0+build-metadata' + +at 2022-02-23T14:41:55-05:00 +git branch v3-dev +git checkout v3-dev +cp v3/go.mod go.mod +git commit go.mod -m 'update to /v3' +git tag 'v3.0.0-20220223184802-12d19af20458' + +git checkout main + +git show-ref --tags --heads +cmp stdout .git-refs + +-- .git-refs -- +9d863d525bbfcc8eda09364738c4032393711a56 refs/heads/main +cce3d0f5d2ec85678cca3c45ac4a87f3be5efaca refs/heads/v3-dev +9d863d525bbfcc8eda09364738c4032393711a56 refs/tags/v0.1.0+build-metadata +12d19af204585b0db3d2a876ceddf5b9323f5a4a refs/tags/v2.0.0+incompatible +cce3d0f5d2ec85678cca3c45ac4a87f3be5efaca refs/tags/v3.0.0-20220223184802-12d19af20458 +-- README.txt -- +This module lacks a go.mod file. +-- go.mod -- +module vcs-test.golang.org/git/odd-tags.git + +go 1.18 +-- v3/go.mod -- +module vcs-test.golang.org/git/odd-tags.git/v3 + +go 1.18 diff --git a/src/cmd/go/testdata/vcstest/git/prefixtagtests.txt b/src/cmd/go/testdata/vcstest/git/prefixtagtests.txt new file mode 100644 index 0000000..6c89c85 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/git/prefixtagtests.txt @@ -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 diff --git a/src/cmd/go/testdata/vcstest/git/querytest.txt b/src/cmd/go/testdata/vcstest/git/querytest.txt new file mode 100644 index 0000000..b0f708a --- /dev/null +++ b/src/cmd/go/testdata/vcstest/git/querytest.txt @@ -0,0 +1,273 @@ +handle git + +env GIT_AUTHOR_NAME='Russ Cox' +env GIT_AUTHOR_EMAIL='rsc@golang.org' +env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME +env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL + +git init + +at 2018-07-03T22:31:01-04:00 +git add go.mod +git commit -a -m 'v1' +git branch -m master +git tag start + +git branch v2 + +at 2018-07-03T22:33:47-04:00 +echo 'before v0.0.0-pre1' +cp stdout status +git add status +git commit -a -m 'before v0.0.0-pre1' + +echo 'at v0.0.0-pre1' +cp stdout status +git commit -a -m 'at v0.0.0-pre1' +git tag 'v0.0.0-pre1' + +echo 'before v0.0.0' +cp stdout status +git commit -a -m 'before v0.0.0' + +echo 'at v0.0.0' +cp stdout status +git commit -a -m 'at v0.0.0' +git tag 'v0.0.0' + +echo 'before v0.0.1' +cp stdout status +git commit -a -m 'before v0.0.1' + +echo 'at v0.0.1' +cp stdout status +git commit -a -m 'at v0.0.1' +git tag 'v0.0.1' + +echo 'before v0.0.2' +cp stdout status +git commit -a -m 'before v0.0.2' + +echo 'at v0.0.2' +cp stdout status +git commit -a -m 'at v0.0.2' +git tag 'v0.0.2' + +echo 'before v0.0.3' +cp stdout status +git commit -a -m 'before v0.0.3' + +echo 'at v0.0.3' +cp stdout status +git commit -a -m 'at v0.0.3' +git tag 'v0.0.3' +git tag favorite + +echo 'before v0.1.0' +cp stdout status +git commit -a -m 'before v0.1.0' + +echo 'at v0.1.0' +cp stdout status +git commit -a -m 'at v0.1.0' +git tag v0.1.0 + +echo 'before v0.1.1' +cp stdout status +git commit -a -m 'before v0.1.1' + +echo 'at v0.1.1' +cp stdout status +git commit -a -m 'at v0.1.1' +git tag 'v0.1.1' + +echo 'before v0.1.2' +cp stdout status +git commit -a -m 'before v0.1.2' + +echo 'at v0.1.2' +cp stdout status +git commit -a -m 'at v0.1.2' +git tag 'v0.1.2' + +echo 'before v0.3.0' +cp stdout status +git commit -a -m 'before v0.3.0' + +echo 'at v0.3.0' +cp stdout status +git commit -a -m 'at v0.3.0' +git tag 'v0.3.0' + +echo 'before v1.0.0' +cp stdout status +git commit -a -m 'before v1.0.0' + +echo 'at v1.0.0' +cp stdout status +git commit -a -m 'at v1.0.0' +git tag 'v1.0.0' + +echo 'before v1.1.0' +cp stdout status +git commit -a -m 'before v1.1.0' + +echo 'at v1.1.0' +cp stdout status +git commit -a -m 'at v1.1.0' +git tag 'v1.1.0' + +echo 'before v1.9.0' +cp stdout status +git commit -a -m 'before v1.9.0' + +echo 'at v1.9.0' +cp stdout status +git commit -a -m 'at v1.9.0' +git tag 'v1.9.0' + +echo 'before v1.9.9' +cp stdout status +git commit -a -m 'before v1.9.9' + +echo 'at v1.9.9' +cp stdout status +git commit -a -m 'at v1.9.9' +git tag 'v1.9.9' + +at 2018-07-03T22:45:01-04:00 +echo 'before v1.9.10-pre1' +cp stdout status +git commit -a -m 'before v1.9.10-pre1' + +echo 'at v1.9.10-pre1' +cp stdout status +git commit -a -m 'at v1.9.10-pre1' +git tag 'v1.9.10-pre1' + +at 2018-07-03T22:50:24-04:00 +git checkout v2 +cp v2/go.mod go.mod +git add go.mod +git commit -a -m 'v2' + +at 2018-07-03T22:51:14-04:00 +echo 'before v2.0.0' +cp stdout status +git add status +git commit -a -m 'before v2.0.0' + +at 2018-07-03T22:51:14-04:00 +echo 'at v2.0.0' +cp stdout status +git commit -a -m 'at v2.0.0' +git tag 'v2.0.0' + +at 2018-07-03T22:51:14-04:00 +echo 'before v2.1.0' +cp stdout status +git commit -a -m 'before v2.1.0' + +at 2018-07-03T22:51:14-04:00 +echo 'at v2.1.0' +cp stdout status +git commit -a -m 'at v2.1.0' +git tag 'v2.1.0' + +at 2018-07-03T22:51:14-04:00 +echo 'before v2.2.0' +cp stdout status +git commit -a -m 'before v2.2.0' + +at 2018-07-03T22:51:14-04:00 +echo 'at v2.2.0' +cp stdout status +git commit -a -m 'at v2.2.0' +git tag 'v2.2.0' + +at 2018-07-03T22:51:14-04:00 +echo 'before v2.5.5' +cp stdout status +git commit -a -m 'before v2.5.5' + +at 2018-07-03T22:51:14-04:00 +echo 'at v2.5.5' +cp stdout status +git commit -a -m 'at v2.5.5' +git tag 'v2.5.5' + +at 2018-07-03T23:35:18-04:00 +echo 'after v2.5.5' +cp stdout status +git commit -a -m 'after v2.5.5' + + +env GIT_AUTHOR_NAME='Bryan C. Mills' +env GIT_AUTHOR_EMAIL=bcmills@google.com +env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME +env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL + +git checkout v2.5.5 + +at 2019-05-13T17:13:56-04:00 +echo 'before v2.6.0-pre1' +cp stdout status +git commit -a -m 'before v2.6.0-pre1' + +at 2019-05-13T17:13:56-04:00 +echo 'at v2.6.0-pre1' +cp stdout status +git commit -a -m 'at v2.6.0-pre1' +git tag 'v2.6.0-pre1' + +git checkout master + +at 2019-05-13T16:11:25-04:00 +echo 'before v1.9.10-pre2+metadata' +cp stdout status +git commit -a -m 'before v1.9.10-pre2+metadata' + +at 2019-05-13T16:11:26-04:00 +echo 'at v1.9.10-pre2+metadata' +cp stdout status +git commit -a -m 'at v1.9.10-pre2+metadata' +git tag 'v1.9.10-pre2+metadata' + +at 2019-12-20T08:46:14-05:00 +echo 'after v1.9.10-pre2+metadata' +cp stdout status +git commit -a -m 'after v1.9.10-pre2+metadata' + + +git show-ref --tags --heads +cmp stdout .git-refs + +-- .git-refs -- +ed5ffdaa1f5e7e0be6f5ba2d63097026506224f2 refs/heads/master +feed8f518cf4a7215a3b2a8268b8b0746dcbb12d refs/heads/v2 +f6abd4e3ed7f2297bc8fd2888bd6d5412e255fcc refs/tags/favorite +5e9e31667ddfe16e9350f4bd00acc933c8cd5e56 refs/tags/start +0de900e0063bcc310ea0621bfbc227a9b4e3b020 refs/tags/v0.0.0 +e5ec98b1c15df29e3bd346d538d73b6e8c3b500c refs/tags/v0.0.0-pre1 +179bc86b1be3f6d4553f77ebe68a8b6d750ceff8 refs/tags/v0.0.1 +81da2346e009fa1072fe4de3a9a223398ea8ec39 refs/tags/v0.0.2 +f6abd4e3ed7f2297bc8fd2888bd6d5412e255fcc refs/tags/v0.0.3 +7a1b6bf60ae5bb2b2bd49d152e0bbad806056122 refs/tags/v0.1.0 +daedca9abee3171fe45e0344098a993675ac799e refs/tags/v0.1.1 +ce829e0f1c45a2eca0f1ad16d7c1aca7cddb433b refs/tags/v0.1.2 +44aadfee25d86acb32d6f352afd1d602b0e3a651 refs/tags/v0.3.0 +20756d3a393908b2edb5db0f0bb954e962860168 refs/tags/v1.0.0 +b0bf267f64b7d5b5cabe22fbcad22f3f1642b7e5 refs/tags/v1.1.0 +609dca58c03f0ddf1d8ebe46c1f74fc6a99f3e73 refs/tags/v1.9.0 +e0cf3de987e660c21b6950e85b317ce5f7fbb9d9 refs/tags/v1.9.10-pre1 +42abcb6df8eee6983aeca9a307c28ea40530aceb refs/tags/v1.9.10-pre2+metadata +5ba9a4ea62136ae86213feba68bc73858f55b7e1 refs/tags/v1.9.9 +9763aa065ae27c6cacec5ca8b6dfa43a1b31dea0 refs/tags/v2.0.0 +23c28cb696ff40a2839ce406f2c173aa6c3cdda6 refs/tags/v2.1.0 +1828ee9f8074075675013e4d488d5d49ddc1b502 refs/tags/v2.2.0 +d7352560158175e3b6aa11e22efb06d9e87e6eea refs/tags/v2.5.5 +fb9e35b393eb0cccc37e13e243ce60b4ff8c7eea refs/tags/v2.6.0-pre1 +-- go.mod -- +module vcs-test.golang.org/git/querytest.git +-- v2/go.mod -- +module vcs-test.golang.org/git/querytest.git/v2 diff --git a/src/cmd/go/testdata/vcstest/git/retract-pseudo.txt b/src/cmd/go/testdata/vcstest/git/retract-pseudo.txt new file mode 100644 index 0000000..e189484 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/git/retract-pseudo.txt @@ -0,0 +1,33 @@ +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 2020-10-09T13:37:47-04:00 + +git init + +git add go.mod p.go +git commit -m 'create module retract-pseudo' +git branch -m main +git tag v1.0.0 + +git mv p.go q.go +git commit -m 'trivial change' + +git show-ref --tags --heads +cmp stdout .git-refs + +-- .git-refs -- +713affd19d7b9b6dc876b603017f3dcaab8ba674 refs/heads/main +64c061ed4371ef372b6bbfd58ee32015d6bfc3e5 refs/tags/v1.0.0 +-- go.mod -- +module vcs-test.golang.org/git/retract-pseudo.git + +go 1.16 + +retract v1.0.0 +-- p.go -- +package p diff --git a/src/cmd/go/testdata/vcstest/git/semver-branch.txt b/src/cmd/go/testdata/vcstest/git/semver-branch.txt new file mode 100644 index 0000000..69e1762 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/git/semver-branch.txt @@ -0,0 +1,53 @@ +handle git + +env GIT_AUTHOR_NAME='Bryan C. Mills' +env GIT_AUTHOR_EMAIL='bcmills@google.com' +env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME +env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL + +git init + +at 2022-02-02T14:15:21-05:00 +git add pkg go.mod +git commit -a -m 'pkg: add empty package' +git branch -m main +git tag 'v0.1.0' + +at 2022-02-02T14:19:44-05:00 +git branch 'v1.0.0' +git branch 'v2.0.0' +git checkout 'v1.0.0' +cp v1/pkg/pkg.go pkg/pkg.go +git commit -a -m 'pkg: start developing toward v1.0.0' + +at 2022-02-03T10:53:13-05:00 +git branch 'v3.0.0-devel' +git checkout 'v3.0.0-devel' +git checkout v0.1.0 pkg/pkg.go +git commit -a -m 'pkg: remove panic' +git tag v4.0.0-beta.1 + +git checkout main + +git show-ref --tags --heads +cmp stdout .git-refs + +-- .git-refs -- +33ea7ee36f3e3f44f528664b3712c9fa0cef7502 refs/heads/main +09c4d8f6938c7b5eeae46858a72712b8700fa46a refs/heads/v1.0.0 +33ea7ee36f3e3f44f528664b3712c9fa0cef7502 refs/heads/v2.0.0 +d59622f6e4d77f008819083582fde71ea1921b0c refs/heads/v3.0.0-devel +33ea7ee36f3e3f44f528664b3712c9fa0cef7502 refs/tags/v0.1.0 +d59622f6e4d77f008819083582fde71ea1921b0c refs/tags/v4.0.0-beta.1 +-- go.mod -- +module vcs-test.golang.org/git/semver-branch.git + +go 1.16 +-- pkg/pkg.go -- +package pkg +-- v1/pkg/pkg.go -- +package pkg + +func init() { + panic("TODO") +} diff --git a/src/cmd/go/testdata/vcstest/git/tagtests.txt b/src/cmd/go/testdata/vcstest/git/tagtests.txt new file mode 100644 index 0000000..92e79cd --- /dev/null +++ b/src/cmd/go/testdata/vcstest/git/tagtests.txt @@ -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 diff --git a/src/cmd/go/testdata/vcstest/git/v2repo.txt b/src/cmd/go/testdata/vcstest/git/v2repo.txt new file mode 100644 index 0000000..6cbe924 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/git/v2repo.txt @@ -0,0 +1,26 @@ +handle git + +env GIT_AUTHOR_NAME='Bryan C. Mills' +env GIT_AUTHOR_EMAIL='bcmills@google.com' +env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME +env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL + +git init + +at 2019-04-03T11:52:15-04:00 +env GIT_AUTHOR_DATE=2019-04-03T11:44:11-04:00 +git add go.mod +git commit -m 'all: add go.mod' +git branch -m master +git tag 'v2.0.0' + +git show-ref --tags --heads +cmp stdout .git-refs + +-- .git-refs -- +203b91c896acd173aa719e4cdcb7d463c4b090fa refs/heads/master +203b91c896acd173aa719e4cdcb7d463c4b090fa refs/tags/v2.0.0 +-- go.mod -- +module vcs-test.golang.org/go/v2module/v2 + +go 1.12 diff --git a/src/cmd/go/testdata/vcstest/git/v2sub.txt b/src/cmd/go/testdata/vcstest/git/v2sub.txt new file mode 100644 index 0000000..5d4ab58 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/git/v2sub.txt @@ -0,0 +1,35 @@ +handle git + +env GIT_AUTHOR_NAME='Bryan C. Mills' +env GIT_AUTHOR_EMAIL='bcmills@google.com' +env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME +env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL + +git init + +at 2022-02-22T15:53:33-05:00 +git add v2sub.go v2 +git commit -m 'all: add package v2sub and v2sub/v2' +git branch -m main +git tag v2.0.0 + +at 2022-02-22T15:55:07-05:00 +git add README.txt +git commit -m 'v2sub: add README.txt' + +git show-ref --tags --heads +cmp stdout .git-refs + +-- .git-refs -- +80beb17a16036f17a5aedd1bb5bd6d407b3c6dc5 refs/heads/main +5fcd3eaeeb391d399f562fd45a50dac9fc34ae8b refs/tags/v2.0.0 +-- v2/go.mod -- +module vcs-test.golang.org/git/v2sub.git/v2 + +go 1.16 +-- v2/v2sub.go -- +package v2sub +-- v2sub.go -- +package v2sub +-- README.txt -- +This root module lacks a go.mod file. diff --git a/src/cmd/go/testdata/vcstest/git/v3pkg.txt b/src/cmd/go/testdata/vcstest/git/v3pkg.txt new file mode 100644 index 0000000..af18e01 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/git/v3pkg.txt @@ -0,0 +1,28 @@ +handle git + +env GIT_AUTHOR_NAME='Bryan C. Mills' +env GIT_AUTHOR_EMAIL='bcmills@google.com' +env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME +env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL + +git init + +at 2019-07-15T14:01:24-04:00 +env GIT_AUTHOR_DATE=2019-07-15T13:59:34-04:00 +git add go.mod v3pkg.go +git commit -a -m 'all: add go.mod with v3 path' +git branch -m master +git tag 'v3.0.0' + +git show-ref --tags --heads +cmp stdout .git-refs + +-- .git-refs -- +a3eab1261b8e3164bcbde9171c23d5fd36e32a85 refs/heads/master +a3eab1261b8e3164bcbde9171c23d5fd36e32a85 refs/tags/v3.0.0 +-- go.mod -- +module vcs-test.golang.org/git/v3pkg.git/v3 + +go 1.13 +-- v3pkg.go -- +package v3pkg diff --git a/src/cmd/go/testdata/vcstest/git/vgotest1.txt b/src/cmd/go/testdata/vcstest/git/vgotest1.txt new file mode 100644 index 0000000..d2fc741 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/git/vgotest1.txt @@ -0,0 +1,257 @@ +handle git + +env GIT_AUTHOR_NAME='Russ Cox' +env GIT_AUTHOR_EMAIL='rsc@golang.org' +env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME +env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL + +git init + +at 2018-02-19T17:21:09-05:00 +git add LICENSE README.md +git commit -m 'initial commit' +git branch -m master + +git checkout --detach HEAD + +at 2018-02-19T18:10:06-05:00 +mkdir pkg +echo 'package p // pkg/p.go' +cp stdout pkg/p.go +git add pkg/p.go +git commit -m 'add pkg/p.go' +git tag v0.0.0 +git tag v1.0.0 +git tag mytag + +git checkout --detach HEAD + +at 2018-02-19T18:14:23-05:00 +mkdir v2 +echo 'module "github.com/rsc/vgotest1/v2" // root go.mod' +cp stdout go.mod +git add go.mod +git commit -m 'go.mod v2' +git tag v2.0.1 + +at 2018-02-19T18:15:11-05:00 +mkdir submod/pkg +echo 'package p // submod/pkg/p.go' +cp stdout submod/pkg/p.go +git add submod/pkg/p.go +git commit -m 'submod/pkg/p.go' +git tag v2.0.2 + +at 2018-02-19T18:16:04-05:00 +echo 'module "github.com/rsc/vgotest" // v2/go.mod' +cp stdout v2/go.mod +git add v2/go.mod +git commit -m 'v2/go.mod: bad go.mod (no version)' +git tag v2.0.3 + +at 2018-02-19T19:03:38-05:00 +env GIT_AUTHOR_DATE=2018-02-19T18:16:38-05:00 +echo 'module "github.com/rsc/vgotest1/v2" // v2/go.mod' +cp stdout v2/go.mod +git add v2/go.mod +git commit -m 'v2/go.mod: fix' +git tag v2.0.4 + +at 2018-02-19T19:03:59-05:00 +env GIT_AUTHOR_DATE=2018-02-19T18:17:02-05:00 +echo 'module "github.com/rsc/vgotest1" // root go.mod' +cp stdout go.mod +git add go.mod +git commit -m 'go.mod: drop v2' +git tag v2.0.5 + +git checkout --detach mytag + +at 2018-02-19T18:10:28-05:00 +echo 'module "github.com/rsc/vgotest1" // root go.mod' +cp stdout go.mod +git add go.mod +git commit -m 'go.mod' +git tag v0.0.1 +git tag v1.0.1 + +at 2018-02-19T18:11:28-05:00 +mkdir submod/pkg +echo 'package pkg // submod/pkg/p.go' +cp stdout submod/pkg/p.go +git add submod +git commit -m 'submod/pkg/p.go' +git tag v1.0.2 + +at 2018-02-19T18:12:07-05:00 +echo 'module "github.com/vgotest1/submod" // submod/go.mod' +cp stdout submod/go.mod +git add submod/go.mod +git commit -m 'submod/go.mod' +git tag v1.0.3 +git tag submod/v1.0.4 + +at 2018-02-19T18:12:59-05:00 +git apply 0001-submod-go.mod-add-require-vgotest1-v1.1.0.patch +git commit -a -m 'submod/go.mod: add require vgotest1 v1.1.0' +git tag submod/v1.0.5 + +at 2018-02-19T18:13:36-05:00 +git apply 0002-go.mod-add-require-submod-v1.0.5.patch +git commit -a -m 'go.mod: add require submod v1.0.5' +git tag v1.1.0 + +git checkout master + +at 2018-02-19T17:23:01-05:00 +mkdir pkg +echo 'package pkg' +cp stdout pkg/p.go +git add pkg/p.go +git commit -m 'pkg: add' + +at 2018-02-19T17:30:23-05:00 +env GIT_AUTHOR_DATE=2018-02-19T17:24:48-05:00 +echo 'module "github.com/vgotest1/v2"' +cp stdout go.mod +git add go.mod +git commit -m 'add go.mod' + +at 2018-02-19T17:30:45-05:00 +echo 'module "github.com/vgotest1"' +cp stdout go.mod +git add go.mod +git commit -m 'bad mod path' + +at 2018-02-19T17:31:34-05:00 +mkdir v2 +echo 'module "github.com/vgotest1/v2"' +cp stdout v2/go.mod +git add v2/go.mod +git commit -m 'add v2/go.mod' + +at 2018-02-19T17:32:37-05:00 +echo 'module "github.com/vgotest1/v2"' +cp stdout go.mod +git add go.mod +git commit -m 'say v2 in root go.mod' + +git checkout --detach HEAD +at 2018-02-19T17:51:24-05:00 + # README.md at this commit lacked a trailing newline, so 'git apply' can't + # seem to apply it correctly as a patch. Instead, we use 'echo -e' to write + # the exact contents. +unquote 'This is a test repo for versioned go.\nThere''s nothing useful here.\n\n v0.0.0 - has pkg/p.go\n v0.0.1 - has go.mod\n \n v1.0.0 - has pkg/p.go\n v1.0.1 - has go.mod\n v1.0.2 - has submod/pkg/p.go\n v1.0.3 - has submod/go.mod\n submod/v1.0.4 - same\n submod/v1.0.5 - add requirement on v1.1.0\n v1.1.0 - add requirement on submod/v1.0.5\n \n v2.0.0 - has pkg/p.go\n v2.0.1 - has go.mod with v2 module path\n v2.0.2 - has go.mod with v1 (no version) module path\n v2.0.3 - has v2/go.mod with v2 module path\n v2.0.5 - has go.mod AND v2/go.mod with v2 module path\n ' +cp stdout README.md +mkdir v2/pkg +echo 'package q' +cp stdout v2/pkg/q.go +git add README.md v2/pkg/q.go +git commit -m 'add q' +git tag v2.0.6 + +git checkout --detach mytag~1 +at 2018-07-18T21:21:27-04:00 +env GIT_AUTHOR_DATE=2018-02-19T18:10:06-05:00 +mkdir pkg +echo 'package p // pkg/p.go' +cp stdout pkg/p.go +git add pkg/p.go +unquote 'add pkg/p.go\n\nv2\n' +cp stdout COMMIT_MSG +git commit -F COMMIT_MSG +git tag v2.0.0 + +git checkout master + +git show-ref --tags --heads +cmp stdout .git-refs + +-- .git-refs -- +a08abb797a6764035a9314ed5f1d757e0224f3bf refs/heads/master +80d85c5d4d17598a0e9055e7c175a32b415d6128 refs/tags/mytag +8afe2b2efed96e0880ecd2a69b98a53b8c2738b6 refs/tags/submod/v1.0.4 +70fd92eaa4dacf82548d0c6099f5b853ae2c1fc8 refs/tags/submod/v1.0.5 +80d85c5d4d17598a0e9055e7c175a32b415d6128 refs/tags/v0.0.0 +5a115c66393dd8c4a5cc3215653850d7f5640d0e refs/tags/v0.0.1 +80d85c5d4d17598a0e9055e7c175a32b415d6128 refs/tags/v1.0.0 +5a115c66393dd8c4a5cc3215653850d7f5640d0e refs/tags/v1.0.1 +2e38a1a347ba4d9e9946ec0ce480710ff445c919 refs/tags/v1.0.2 +8afe2b2efed96e0880ecd2a69b98a53b8c2738b6 refs/tags/v1.0.3 +b769f2de407a4db81af9c5de0a06016d60d2ea09 refs/tags/v1.1.0 +45f53230a74ad275c7127e117ac46914c8126160 refs/tags/v2.0.0 +ea65f87c8f52c15ea68f3bdd9925ef17e20d91e9 refs/tags/v2.0.1 +f7b23352af1cd750b11e4673b20b24c2d239430a refs/tags/v2.0.2 +f18795870fb14388a21ef3ebc1d75911c8694f31 refs/tags/v2.0.3 +1f863feb76bc7029b78b21c5375644838962f88d refs/tags/v2.0.4 +2f615117ce481c8efef46e0cc0b4b4dccfac8fea refs/tags/v2.0.5 +a01a0aef06cbd571294fc5451788cd4eadbfd651 refs/tags/v2.0.6 +-- LICENSE -- +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-- README.md -- +This is a test repo for versioned go. +There's nothing useful here. +-- 0001-submod-go.mod-add-require-vgotest1-v1.1.0.patch -- +From 70fd92eaa4dacf82548d0c6099f5b853ae2c1fc8 Mon Sep 17 00:00:00 2001 +From: Russ Cox <rsc@golang.org> +Date: Mon, 19 Feb 2018 18:12:59 -0500 +Subject: [PATCH] submod/go.mod: add require vgotest1 v1.1.0 + +--- + submod/go.mod | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/submod/go.mod b/submod/go.mod +index 7b18d93..c88de0f 100644 +--- a/submod/go.mod ++++ b/submod/go.mod +@@ -1 +1,2 @@ + module "github.com/vgotest1/submod" // submod/go.mod ++require "github.com/vgotest1" v1.1.0 +-- +2.36.1.838.g23b219f8e3 +-- 0002-go.mod-add-require-submod-v1.0.5.patch -- +From b769f2de407a4db81af9c5de0a06016d60d2ea09 Mon Sep 17 00:00:00 2001 +From: Russ Cox <rsc@golang.org> +Date: Mon, 19 Feb 2018 18:13:36 -0500 +Subject: [PATCH] go.mod: add require submod v1.0.5 + +--- + go.mod | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/go.mod b/go.mod +index ac7a6d7..6118671 100644 +--- a/go.mod ++++ b/go.mod +@@ -1 +1,2 @@ + module "github.com/rsc/vgotest1" // root go.mod ++require "github.com/rsc/vgotest1/submod" v1.0.5 +-- +2.36.1.838.g23b219f8e3 diff --git a/src/cmd/go/testdata/vcstest/go/custom-hg-hello.txt b/src/cmd/go/testdata/vcstest/go/custom-hg-hello.txt new file mode 100644 index 0000000..40b1ef6 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/go/custom-hg-hello.txt @@ -0,0 +1,4 @@ +handle dir + +-- index.html -- +<meta name="go-import" content="vcs-test.golang.org/go/custom-hg-hello hg https://vcs-test.golang.org/hg/custom-hg-hello"> diff --git a/src/cmd/go/testdata/vcstest/go/insecure.txt b/src/cmd/go/testdata/vcstest/go/insecure.txt new file mode 100644 index 0000000..6eb83c3 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/go/insecure.txt @@ -0,0 +1,6 @@ +handle dir + +-- index.html -- +<!DOCTYPE html> +<html> +<meta name="go-import" content="vcs-test.golang.org/insecure/go/insecure git https://vcs-test.golang.org/git/insecurerepo"> diff --git a/src/cmd/go/testdata/vcstest/go/missingrepo.txt b/src/cmd/go/testdata/vcstest/go/missingrepo.txt new file mode 100644 index 0000000..9db6c14 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/go/missingrepo.txt @@ -0,0 +1,18 @@ +handle dir + +-- missingrepo-git/index.html -- +<!DOCTYPE html> +<html> +<meta name="go-import" content="vcs-test.golang.org/go/missingrepo/missingrepo-git git https://vcs-test.golang.org/git/missingrepo"> +-- missingrepo-git/notmissing/index.html -- +<!DOCTYPE html> +<html> +<meta name="go-import" content="vcs-test.golang.org/go/missingrepo/missingrepo-git/notmissing git https://vcs-test.golang.org/git/mainonly"> +-- missingrepo-git-ssh/index.html -- +<!DOCTYPE html> +<html> +<meta name="go-import" content="vcs-test.golang.org/go/missingrepo/missingrepo-git-ssh git ssh://nonexistent.vcs-test.golang.org/git/missingrepo"> +-- missingrepo-git-ssh/notmissing/index.html -- +<!DOCTYPE html> +<html> +<meta name="go-import" content="vcs-test.golang.org/go/missingrepo/missingrepo-git-ssh/notmissing git https://vcs-test.golang.org/git/mainonly"> diff --git a/src/cmd/go/testdata/vcstest/go/mod/gitrepo1.txt b/src/cmd/go/testdata/vcstest/go/mod/gitrepo1.txt new file mode 100644 index 0000000..0e727d3 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/go/mod/gitrepo1.txt @@ -0,0 +1,6 @@ +handle dir + +-- index.html -- +<!DOCTYPE html> +<html> +<meta name="go-import" content="vcs-test.golang.org/go/mod/gitrepo1 git https://vcs-test.golang.org/git/gitrepo1"> diff --git a/src/cmd/go/testdata/vcstest/go/modauth404.txt b/src/cmd/go/testdata/vcstest/go/modauth404.txt new file mode 100644 index 0000000..51f25a9 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/go/modauth404.txt @@ -0,0 +1,6 @@ +handle dir + +-- index.html -- +<!DOCTYPE html> +<html> +<meta name="go-import" content="vcs-test.golang.org/go/modauth404 mod https://vcs-test.golang.org/auth/or404"> diff --git a/src/cmd/go/testdata/vcstest/go/test1-svn-git.txt b/src/cmd/go/testdata/vcstest/go/test1-svn-git.txt new file mode 100644 index 0000000..42dc949 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/go/test1-svn-git.txt @@ -0,0 +1,30 @@ +handle dir + +-- aaa/index.html -- +<!DOCTYPE html> +<html> +<meta name="go-import" content="vcs-test.golang.org/go/test1-svn-git svn https://vcs-test.golang.org/svn/test1-svn-git"> +-- git-README-only/index.html -- +<!DOCTYPE html> +<html> +<meta name="go-import" content="vcs-test.golang.org/go/test1-svn-git/git-README-only git https://vcs-test.golang.org/git/README-only"> +-- git-README-only/other/index.html -- +<!DOCTYPE html> +<html> +<meta name="go-import" content="vcs-test.golang.org/go/test1-svn-git/git-README-only git https://vcs-test.golang.org/git/README-only"> +-- git-README-only/pkg/index.html -- +<!DOCTYPE html> +<html> +<meta name="go-import" content="vcs-test.golang.org/go/test1-svn-git/git-README-only git https://vcs-test.golang.org/git/README-only"> +-- index.html -- +<!DOCTYPE html> +<html> +<meta name="go-import" content="vcs-test.golang.org/go/test1-svn-git svn https://vcs-test.golang.org/svn/test1-svn-git"> +-- other/index.html -- +<!DOCTYPE html> +<html> +<meta name="go-import" content="vcs-test.golang.org/go/test1-svn-git svn https://vcs-test.golang.org/svn/test1-svn-git"> +-- tiny/index.html -- +<!DOCTYPE html> +<html> +<meta name="go-import" content="vcs-test.golang.org/go/test1-svn-git svn https://vcs-test.golang.org/svn/test1-svn-git"> diff --git a/src/cmd/go/testdata/vcstest/go/test2-svn-git.txt b/src/cmd/go/testdata/vcstest/go/test2-svn-git.txt new file mode 100644 index 0000000..8aae5c8 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/go/test2-svn-git.txt @@ -0,0 +1,26 @@ +handle dir + +-- test2main/index.html -- +<!DOCTYPE html> +<html> +<meta name="go-import" content="vcs-test.golang.org/go/test2-svn-git/test2main git https://vcs-test.golang.org/git/test2main"> +-- test2pkg/index.html -- +<!DOCTYPE html> +<html> +<meta name="go-import" content="vcs-test.golang.org/go/test2-svn-git/test2pkg git https://vcs-test.golang.org/git/README-only"> +-- test2pkg/pkg/index.html -- +<!DOCTYPE html> +<html> +<meta name="go-import" content="vcs-test.golang.org/go/test2-svn-git/test2pkg git https://vcs-test.golang.org/git/README-only"> +-- test2PKG/index.html -- +<!DOCTYPE html> +<html> +<meta name="go-import" content="vcs-test.golang.org/go/test2-svn-git/test2PKG svn https://vcs-test.golang.org/svn/test2-svn-git"> +-- test2PKG/p1/index.html -- +<!DOCTYPE html> +<html> +<meta name="go-import" content="vcs-test.golang.org/go/test2-svn-git/test2PKG svn https://vcs-test.golang.org/svn/test2-svn-git"> +-- test2PKG/pkg/index.html -- +<!DOCTYPE html> +<html> +<meta name="go-import" content="vcs-test.golang.org/go/test2-svn-git/test2PKG svn https://vcs-test.golang.org/svn/test2-svn-git"> diff --git a/src/cmd/go/testdata/vcstest/go/v2module.txt b/src/cmd/go/testdata/vcstest/go/v2module.txt new file mode 100644 index 0000000..abcf2fd --- /dev/null +++ b/src/cmd/go/testdata/vcstest/go/v2module.txt @@ -0,0 +1,6 @@ +handle dir + +-- v2/index.html -- +<!DOCTYPE html> +<html> +<meta name="go-import" content="vcs-test.golang.org/go/v2module/v2 git https://vcs-test.golang.org/git/v2repo"> diff --git a/src/cmd/go/testdata/vcstest/hg/custom-hg-hello.txt b/src/cmd/go/testdata/vcstest/hg/custom-hg-hello.txt new file mode 100644 index 0000000..572cbdf --- /dev/null +++ b/src/cmd/go/testdata/vcstest/hg/custom-hg-hello.txt @@ -0,0 +1,17 @@ +handle hg +hg init + +hg add hello.go +hg commit --user 'Russ Cox <rsc@golang.org>' --date '2017-10-10T19:39:36-04:00' --message 'hello' + +hg log -r ':' --template '{node|short} {desc|strip|firstline}\n' +cmp stdout .hg-log + +-- .hg-log -- +a8c8e7a40da9 hello +-- hello.go -- +package main // import "vcs-test.golang.org/go/custom-hg-hello" + +func main() { + println("hello") +} diff --git a/src/cmd/go/testdata/vcstest/hg/hello.txt b/src/cmd/go/testdata/vcstest/hg/hello.txt new file mode 100644 index 0000000..10f114e --- /dev/null +++ b/src/cmd/go/testdata/vcstest/hg/hello.txt @@ -0,0 +1,17 @@ +handle hg +hg init + +hg add hello.go +hg commit --user 'bwk' --date '2017-09-21T21:14:14-04:00' --message 'hello world' + +hg log -r ':' --template '{node|short} {desc|strip|firstline}\n' +cmp stdout .hg-log + +-- .hg-log -- +e483a7d9f8c9 hello world +-- hello.go -- +package main + +func main() { + println("hello, world") +} diff --git a/src/cmd/go/testdata/vcstest/hg/hgrepo1.txt b/src/cmd/go/testdata/vcstest/hg/hgrepo1.txt new file mode 100644 index 0000000..1e4b83a --- /dev/null +++ b/src/cmd/go/testdata/vcstest/hg/hgrepo1.txt @@ -0,0 +1,153 @@ +handle hg + +mkdir git +cd git + +env GIT_AUTHOR_NAME='Russ Cox' +env GIT_AUTHOR_EMAIL='rsc@golang.org' +env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME +env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL + +git init + +at 2018-04-17T15:43:22-04:00 +unquote '' +cp stdout README +git add README +git commit -a -m 'empty README' +git branch -m master +git tag v1.2.3 + +at 2018-04-17T15:45:48-04:00 +git branch v2 +git checkout v2 +echo 'v2' +cp stdout v2 +git add v2 +git commit -a -m 'v2' +git tag v2.3 +git tag v2.0.1 +git branch v2.3.4 +git tag branch-v2.3.4 + +at 2018-04-17T16:00:19-04:00 +echo 'intermediate' +cp stdout foo.txt +git add foo.txt +git commit -a -m 'intermediate' + +at 2018-04-17T16:00:32-04:00 +echo 'another' +cp stdout another.txt +git add another.txt +git commit -a -m 'another' +git tag v2.0.2 +git tag branch-v2 + +at 2018-04-17T16:16:52-04:00 +git checkout master +git branch v3 +git checkout v3 +mkdir v3/sub/dir +echo 'v3/sub/dir/file' +cp stdout v3/sub/dir/file.txt +git add v3 +git commit -a -m 'add v3/sub/dir/file.txt' +git tag branch-v3 + +at 2018-04-17T22:23:00-04:00 +git checkout master +git tag -a v1.2.4-annotated -m 'v1.2.4-annotated' + +cd .. + +hg init +hg convert --datesort ./git . +rm ./git + +hg update -C v2 +hg branch v2 +unquote '' +cp stdout dummy +hg add dummy +hg commit --user 'Russ Cox <rsc@golang.org>' --date '2018-06-27T12:15:24-04:00' -m 'dummy' + +# 'hg convert' blindly stamps a tag-update commit at the end of whatever branch +# happened to contain the last converted commit — in this case, v3. However, the +# original vcs-test.golang.org copy of this repo had this commit on the v3 +# branch as a descendent of 'add v3/sub/dir/file.txt', so that's where we put it +# here. That leaves the convert-repo 'update tags' commit only reachable as the +# head of the default branch. +hg update -r 4 + +hg branch v3 +unquote '' +cp stdout dummy +hg add dummy +hg commit --user 'Russ Cox <rsc@golang.org>' --date '2018-06-27T12:15:45-04:00' -m 'dummy' + +hg update v2.3.4 +hg branch v2.3.4 +unquote '' +cp stdout dummy +hg add dummy +hg commit --user 'Russ Cox <rsc@golang.org>' --date '2018-06-27T12:16:10-04:00' -m 'dummy' + +hg tag --user 'Russ Cox <rsc@golang.org>' --date '2018-06-27T12:16:30-04:00' -m 'Removed tag branch-v2, branch-v3, branch-v2.3.4' --remove branch-v2 branch-v3 branch-v2.3.4 + +# Adding commits to the above branches updates both the branch heads and the +# corresponding bookmarks. +# But apparently at some point it did not do so? The original copy of this repo +# had bookmarks pointing to the base of each branch instead of the tip. 🤔 +# Either way, force the bookmarks we care about to match the original copy of +# the repo. +hg book v2 -r 3 --force +hg book v2.3.4 -r 1 --force +hg book v3 -r 5 --force + +hg log -G --debug + +hg tags +cmp stdout .hg-tags + + # 'hg convert' leaves an 'update tags' commit on the default branch, and that + # commit always uses the current date (so is not reproducible). Fortunately, + # that commit lands on the 'default' branch and is not tagged as 'tip', so it + # seems to be mostly harmless. However, because it is nondeterministic we + # should avoid listing it here. + # + # Unfortunately, some of our builders are still running Debian 9 “Stretch”, + # which shipped with a version of 'hg' that does not support 'hg branch -r' + # to list branches for specific versions. Although Stretch is past its + # end-of-life date, we need to keep the builders happy until they can be + # turned down (https://go.dev/issue/56414). +hg branches +? cmp stdout .hg-branches +stdout 'v2\s+6:9a4f43d231ec' +stdout 'v2.3.4\s+9:18518c07eb8e' +stdout 'v3\s+7:a2cad8a2b1bb' +stdout 'default\s+5:' + +# Likewise, bookmark v3 ends up on the nondeterministic commit. +hg bookmarks +? cmp stdout .hg-bookmarks +stdout 'master\s+0:41964ddce118' +stdout 'v2\s+3:8f49ee7a6ddc' +stdout 'v2.3.4\s+1:88fde824ec8b' +stdout 'v3\s+5:.*' + +-- .hg-branches -- +v2.3.4 9:18518c07eb8e +v3 7:a2cad8a2b1bb +v2 6:9a4f43d231ec +-- .hg-tags -- +tip 9:18518c07eb8e +v2.0.2 3:8f49ee7a6ddc +v2.3 1:88fde824ec8b +v2.0.1 1:88fde824ec8b +v1.2.4-annotated 0:41964ddce118 +v1.2.3 0:41964ddce118 +-- .hg-bookmarks -- + master 0:41964ddce118 + v2 3:8f49ee7a6ddc + v2.3.4 1:88fde824ec8b diff --git a/src/cmd/go/testdata/vcstest/hg/vgotest1.txt b/src/cmd/go/testdata/vcstest/hg/vgotest1.txt new file mode 100644 index 0000000..e53c5e0 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/hg/vgotest1.txt @@ -0,0 +1,322 @@ +handle hg + +cd git + +env GIT_AUTHOR_NAME='Russ Cox' +env GIT_AUTHOR_EMAIL='rsc@golang.org' +env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME +env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL + +git init + +# 0 +at 2018-02-19T17:21:09-05:00 +git add LICENSE README.md +git commit -m 'initial commit' +git branch -m master + +# 1 +git branch mybranch +git checkout mybranch + +at 2018-02-19T18:10:06-05:00 +mkdir pkg +echo 'package p // pkg/p.go' +cp stdout pkg/p.go +git add pkg/p.go +git commit -m 'add pkg/p.go' +git tag v0.0.0 +git tag v1.0.0 +git tag v2.0.0 +git tag mytag + +git branch v1 +git branch v2 +git checkout v2 + +# 2 +at 2018-02-19T18:14:23-05:00 +mkdir v2 +echo 'module "github.com/rsc/vgotest1/v2" // root go.mod' +cp stdout go.mod +git add go.mod +git commit -m 'go.mod v2' +git tag v2.0.1 + +# 3 +at 2018-02-19T18:15:11-05:00 +mkdir submod/pkg +echo 'package p // submod/pkg/p.go' +cp stdout submod/pkg/p.go +git add submod/pkg/p.go +git commit -m 'submod/pkg/p.go' +git tag v2.0.2 + +# 4 +at 2018-02-19T18:16:04-05:00 +echo 'module "github.com/rsc/vgotest" // v2/go.mod' +cp stdout v2/go.mod +git add v2/go.mod +git commit -m 'v2/go.mod: bad go.mod (no version)' +git tag v2.0.3 + +# 5 +at 2018-02-19T19:03:38-05:00 +env GIT_AUTHOR_DATE=2018-02-19T18:16:38-05:00 +echo 'module "github.com/rsc/vgotest1/v2" // v2/go.mod' +cp stdout v2/go.mod +git add v2/go.mod +git commit -m 'v2/go.mod: fix' +git tag v2.0.4 + +# 6 +at 2018-02-19T19:03:59-05:00 +env GIT_AUTHOR_DATE=2018-02-19T18:17:02-05:00 +echo 'module "github.com/rsc/vgotest1" // root go.mod' +cp stdout go.mod +git add go.mod +git commit -m 'go.mod: drop v2' +git tag v2.0.5 + +git checkout v1 + +# 7 +at 2018-02-19T18:10:28-05:00 +echo 'module "github.com/rsc/vgotest1" // root go.mod' +cp stdout go.mod +git add go.mod +git commit -m 'go.mod' +git tag v0.0.1 +git tag v1.0.1 + +# 8 +at 2018-02-19T18:11:28-05:00 +mkdir submod/pkg +echo 'package pkg // submod/pkg/p.go' +cp stdout submod/pkg/p.go +git add submod +git commit -m 'submod/pkg/p.go' +git tag v1.0.2 + +# 9 +at 2018-02-19T18:12:07-05:00 +echo 'module "github.com/vgotest1/submod" // submod/go.mod' +cp stdout submod/go.mod +git add submod/go.mod +git commit -m 'submod/go.mod' +git tag v1.0.3 +git tag submod/v1.0.4 + +# 10 +at 2018-02-19T18:12:59-05:00 +git apply ../0001-submod-go.mod-add-require-vgotest1-v1.1.0.patch +git commit -a -m 'submod/go.mod: add require vgotest1 v1.1.0' +git tag submod/v1.0.5 + +# 11 +at 2018-02-19T18:13:36-05:00 +git apply ../0002-go.mod-add-require-submod-v1.0.5.patch +git commit -a -m 'go.mod: add require submod v1.0.5' +git tag v1.1.0 + +git checkout master + +# 12 +at 2018-02-19T17:23:01-05:00 +mkdir pkg +echo 'package pkg' +cp stdout pkg/p.go +git add pkg/p.go +git commit -m 'pkg: add' + +# 13 +at 2018-02-19T17:30:23-05:00 +env GIT_AUTHOR_DATE=2018-02-19T17:24:48-05:00 +echo 'module "github.com/vgotest1/v2"' +cp stdout go.mod +git add go.mod +git commit -m 'add go.mod' + +# 14 +at 2018-02-19T17:30:45-05:00 +echo 'module "github.com/vgotest1"' +cp stdout go.mod +git add go.mod +git commit -m 'bad mod path' + +# 15 +at 2018-02-19T17:31:34-05:00 +mkdir v2 +echo 'module "github.com/vgotest1/v2"' +cp stdout v2/go.mod +git add v2/go.mod +git commit -m 'add v2/go.mod' + +# 16 +at 2018-02-19T17:32:37-05:00 +echo 'module "github.com/vgotest1/v2"' +cp stdout go.mod +git add go.mod +git commit -m 'say v2 in root go.mod' + +# 17 +at 2018-02-19T17:51:24-05:00 + # README.md at this commit lacked a trailing newline, so 'git apply' can't + # seem to apply it correctly as a patch. Instead, we use 'unquote' to write + # the exact contents. +unquote 'This is a test repo for versioned go.\nThere''s nothing useful here.\n\n v0.0.0 - has pkg/p.go\n v0.0.1 - has go.mod\n \n v1.0.0 - has pkg/p.go\n v1.0.1 - has go.mod\n v1.0.2 - has submod/pkg/p.go\n v1.0.3 - has submod/go.mod\n submod/v1.0.4 - same\n submod/v1.0.5 - add requirement on v1.1.0\n v1.1.0 - add requirement on submod/v1.0.5\n \n v2.0.0 - has pkg/p.go\n v2.0.1 - has go.mod with v2 module path\n v2.0.2 - has go.mod with v1 (no version) module path\n v2.0.3 - has v2/go.mod with v2 module path\n v2.0.5 - has go.mod AND v2/go.mod with v2 module path\n ' +cp stdout README.md +mkdir v2/pkg +echo 'package q' +cp stdout v2/pkg/q.go +git add README.md v2/pkg/q.go +git commit -m 'add q' +git tag v2.0.6 + +cd .. + +hg init +hg convert ./git . +rm ./git + +# Note: commit #18 is an 'update tags' commit automatically generated by 'hg +# convert'. We have no control over its timestamp, so it and its descendent +# commit #19 both end up with unpredictable commit hashes. +# +# Fortunately, these commits don't seem to matter for the purpose of reproducing +# the final branches and heads from the original copy of this repo. + +# 19 +hg update -C -r 18 +hg tag --user 'Russ Cox <rsc@golang.org>' --date '2018-07-18T21:24:45-04:00' -m 'Removed tag v2.0.0' --remove v2.0.0 + +# 20 +hg branch default +hg update -C -r 1 +echo 'v2' +cp stdout v2 +hg add v2 +hg commit --user 'Russ Cox <rsc@golang.org>' --date '2018-07-18T21:25:08-04:00' -m 'v2.0.0' + +# 21 +hg tag --user 'Russ Cox <rsc@golang.org>' --date '2018-07-18T21:25:13-04:00' -r f0ababb31f75 -m 'Added tag v2.0.0 for changeset f0ababb31f75' v2.0.0 + +# 22 +hg tag --user 'Russ Cox <rsc@golang.org>' --date '2018-07-18T21:26:02-04:00' -m 'Removed tag v2.0.0' --remove v2.0.0 + +# 23 +hg update -C -r 1 +echo 'v2' +cp stdout v2 +hg add v2 +hg commit --user 'Russ Cox <rsc@golang.org>' --date '2018-07-19T01:21:27+00:00' -m 'v2' + +# 24 +hg tag --user 'Russ Cox <rsc@golang.org>' --date '2018-07-18T21:26:33-04:00' -m 'Added tag v2.0.0 for changeset 814fce58e83a' -r 814fce58e83a v2.0.0 + +hg book --delete v1 +hg book --delete v2 +hg book --force -r 16 master + +hg log -G --debug + +hg tags +cmp stdout .hg-tags +hg branches +cmp stdout .hg-branches +hg bookmarks +cmp stdout .hg-bookmarks + +-- .hg-tags -- +tip 24:645b06ca536d +v2.0.0 23:814fce58e83a +v2.0.6 17:3d4b89a2d059 +v1.1.0 11:92c7eb888b4f +submod/v1.0.5 10:f3f560a6065c +v1.0.3 9:4e58084d459a +submod/v1.0.4 9:4e58084d459a +v1.0.2 8:3ccdce3897f9 +v1.0.1 7:7890ea771ced +v0.0.1 7:7890ea771ced +v2.0.5 6:879ea98f7743 +v2.0.4 5:bf6388016230 +v2.0.3 4:a9ad6d1d14eb +v2.0.2 3:de3663002f0f +v2.0.1 2:f1fc0f22021b +v1.0.0 1:e125018e286a +v0.0.0 1:e125018e286a +mytag 1:e125018e286a +-- .hg-branches -- +default 24:645b06ca536d +-- .hg-bookmarks -- + master 16:577bde103b24 + mybranch 1:e125018e286a +-- git/LICENSE -- +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-- git/README.md -- +This is a test repo for versioned go. +There's nothing useful here. +-- 0001-submod-go.mod-add-require-vgotest1-v1.1.0.patch -- +From 70fd92eaa4dacf82548d0c6099f5b853ae2c1fc8 Mon Sep 17 00:00:00 2001 +From: Russ Cox <rsc@golang.org> +Date: Mon, 19 Feb 2018 18:12:59 -0500 +Subject: [PATCH] submod/go.mod: add require vgotest1 v1.1.0 + +--- + submod/go.mod | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/submod/go.mod b/submod/go.mod +index 7b18d93..c88de0f 100644 +--- a/submod/go.mod ++++ b/submod/go.mod +@@ -1 +1,2 @@ + module "github.com/vgotest1/submod" // submod/go.mod ++require "github.com/vgotest1" v1.1.0 +-- +2.36.1.838.g23b219f8e3 +-- 0002-go.mod-add-require-submod-v1.0.5.patch -- +From b769f2de407a4db81af9c5de0a06016d60d2ea09 Mon Sep 17 00:00:00 2001 +From: Russ Cox <rsc@golang.org> +Date: Mon, 19 Feb 2018 18:13:36 -0500 +Subject: [PATCH] go.mod: add require submod v1.0.5 + +--- + go.mod | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/go.mod b/go.mod +index ac7a6d7..6118671 100644 +--- a/go.mod ++++ b/go.mod +@@ -1 +1,2 @@ + module "github.com/rsc/vgotest1" // root go.mod ++require "github.com/rsc/vgotest1/submod" v1.0.5 +-- +2.36.1.838.g23b219f8e3 diff --git a/src/cmd/go/testdata/vcstest/insecure.txt b/src/cmd/go/testdata/vcstest/insecure.txt new file mode 100644 index 0000000..cbfb1b9 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/insecure.txt @@ -0,0 +1 @@ +handle insecure diff --git a/src/cmd/go/testdata/vcstest/svn/hello.txt b/src/cmd/go/testdata/vcstest/svn/hello.txt new file mode 100644 index 0000000..c6ebd8d --- /dev/null +++ b/src/cmd/go/testdata/vcstest/svn/hello.txt @@ -0,0 +1,87 @@ +handle svn + +mkdir db/transactions +mkdir db/txn-protorevs +chmod 0755 hooks/pre-revprop-change + +env ROOT=$PWD +cd .checkout +[GOOS:windows] svn checkout file:///$ROOT . +[!GOOS:windows] svn checkout file://$ROOT . + +svn add hello.go +svn commit --file MSG +svn propset svn:author 'rsc' --revprop -r1 +svn propset svn:date '2017-09-22T01:12:45.861368Z' --revprop -r1 + +svn update +svn log --xml + +[GOOS:windows] replace '\n' '\r\n' .svn-log +cmp stdout .svn-log + +-- .checkout/MSG -- +hello world + +-- .checkout/hello.go -- +package main + +func main() { + println("hello, world") +} +-- .checkout/.svn-log -- +<?xml version="1.0" encoding="UTF-8"?> +<log> +<logentry + revision="1"> +<author>rsc</author> +<date>2017-09-22T01:12:45.861368Z</date> +<msg>hello world + +</msg> +</logentry> +</log> +-- conf/authz -- +-- conf/passwd -- +-- conf/svnserve.conf -- +-- db/current -- +0 +-- db/format -- +6 +layout sharded 1000 +-- db/fs-type -- +fsfs +-- db/fsfs.conf -- +-- db/min-unpacked-rev -- +0 +-- db/revprops/0/0 -- +K 8 +svn:date +V 27 +2017-09-22T01:11:53.895835Z +END +-- db/revs/0/0 -- +PLAIN +END +ENDREP +id: 0.0.r0/17 +type: dir +count: 0 +text: 0 0 4 4 2d2977d1c96f487abe4a1e202dd03b4e +cpath: / + + +17 107 +-- db/txn-current -- +0 +-- db/txn-current-lock -- +-- db/uuid -- +53cccb44-0fca-40a2-b0c5-acaf9e75039a +-- db/write-lock -- +-- format -- +5 +-- hooks/pre-revprop-change -- +#!/bin/sh + +-- hooks/pre-revprop-change.bat -- +@exit diff --git a/src/cmd/go/testdata/vcstest/svn/nonexistent.txt b/src/cmd/go/testdata/vcstest/svn/nonexistent.txt new file mode 100644 index 0000000..a71ecf1 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/svn/nonexistent.txt @@ -0,0 +1,5 @@ +handle svn + +# For this path, we turn on the svn handler but don't actually create the repo. +# svnserve should use the svn protocol to tell the client that the repo doesn't +# actually exist. diff --git a/src/cmd/go/testdata/vcstest/svn/test1-svn-git.txt b/src/cmd/go/testdata/vcstest/svn/test1-svn-git.txt new file mode 100644 index 0000000..2b94201 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/svn/test1-svn-git.txt @@ -0,0 +1,188 @@ +handle svn + +# Note: this repo script does not produce a byte-for-byte copy of the original. +# +# The 'git init' operation in the nested Git repo creates some sample files +# whose contents depend on the exact Git version in use, and the steps we take +# to construct a fake 'git clone' status don't produce some log files that +# a real 'git clone' leaves behind. +# +# However, the repo is probably accurate enough for the tests that need it. + +env GIT_AUTHOR_NAME='Russ Cox' +env GIT_AUTHOR_EMAIL='rsc@golang.org' +env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME +env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL + +mkdir db/transactions +mkdir db/txn-protorevs +chmod 0755 hooks/pre-revprop-change + +env ROOT=$PWD +cd .checkout +[GOOS:windows] svn checkout file:///$ROOT . +[!GOOS:windows] svn checkout file://$ROOT . + +cd git-README-only +git init +git config --add core.ignorecase true +git config --add core.precomposeunicode true + +git add README +at 2017-09-22T11:39:03-04:00 +git commit -a -m 'README' +git branch -m master + +git rev-parse HEAD +stdout '^7f800d2ac276dd7042ea0e8d7438527d236fd098$' + + # Fake a clone from an origin repo at this commit. +git remote add origin https://vcs-test.swtch.com/git/README-only +mkdir .git/refs/remotes/origin +echo 'ref: refs/remotes/origin/master' +cp stdout .git/refs/remotes/origin/HEAD +unquote '# pack-refs with: peeled fully-peeled \n7f800d2ac276dd7042ea0e8d7438527d236fd098 refs/remotes/origin/master\n' +cp stdout .git/packed-refs +git branch --set-upstream-to=origin/master + +git add pkg/pkg.go +at 2017-09-22T11:41:28-04:00 +git commit -a -m 'add pkg' + +git log --oneline --decorate=short +cmp stdout ../.git-log + +cd .. +svn add git-README-only +svn commit -m 'add modified git-README-only' +svn propset svn:author rsc --revprop -r1 +svn propset svn:date 2017-09-22T15:41:54.145716Z --revprop -r1 + +svn add pkg.go +svn commit -m 'use git-README-only/pkg' +svn propset svn:author rsc --revprop -r2 +svn propset svn:date 2017-09-22T15:49:11.130406Z --revprop -r2 + +svn add other +svn commit -m 'add other' +svn propset svn:author rsc --revprop -r3 +svn propset svn:date 2017-09-22T16:56:16.665173Z --revprop -r3 + +svn add tiny +svn commit -m 'add tiny' +svn propset svn:author rsc --revprop -r4 +svn propset svn:date 2017-09-27T17:48:18.350817Z --revprop -r4 + +cd git-README-only +git remote set-url origin https://vcs-test.golang.org/git/README-only +cd .. +replace 'vcs-test.swtch.com' 'vcs-test.golang.org' other/pkg.go +replace 'vcs-test.swtch.com' 'vcs-test.golang.org' pkg.go +svn commit -m 'move from vcs-test.swtch.com to vcs-test.golang.org' +svn propset svn:author rsc --revprop -r5 +svn propset svn:date 2017-10-04T15:08:26.291877Z --revprop -r5 + +svn update +svn log --xml + +[GOOS:windows] replace '\n' '\r\n' .svn-log +cmp stdout .svn-log + +-- .checkout/git-README-only/pkg/pkg.go -- +package pkg +const Message = "code not in git-README-only" +-- .checkout/git-README-only/README -- +README +-- .checkout/.git-log -- +ab9f66b (HEAD -> master) add pkg +7f800d2 (origin/master, origin/HEAD) README +-- .checkout/pkg.go -- +package p + +import "vcs-test.swtch.com/go/test1-svn-git/git-README-only/pkg" + +const _ = pkg.Message +-- .checkout/other/pkg.go -- +package other + +import _ "vcs-test.swtch.com/go/test1-svn-git/git-README-only/other" +-- .checkout/tiny/tiny.go -- +package tiny +-- .checkout/.svn-log -- +<?xml version="1.0" encoding="UTF-8"?> +<log> +<logentry + revision="5"> +<author>rsc</author> +<date>2017-10-04T15:08:26.291877Z</date> +<msg>move from vcs-test.swtch.com to vcs-test.golang.org</msg> +</logentry> +<logentry + revision="4"> +<author>rsc</author> +<date>2017-09-27T17:48:18.350817Z</date> +<msg>add tiny</msg> +</logentry> +<logentry + revision="3"> +<author>rsc</author> +<date>2017-09-22T16:56:16.665173Z</date> +<msg>add other</msg> +</logentry> +<logentry + revision="2"> +<author>rsc</author> +<date>2017-09-22T15:49:11.130406Z</date> +<msg>use git-README-only/pkg</msg> +</logentry> +<logentry + revision="1"> +<author>rsc</author> +<date>2017-09-22T15:41:54.145716Z</date> +<msg>add modified git-README-only</msg> +</logentry> +</log> +-- conf/authz -- +-- conf/passwd -- +-- conf/svnserve.conf -- +-- db/current -- +0 +-- db/format -- +6 +layout sharded 1000 +-- db/fs-type -- +fsfs +-- db/fsfs.conf -- +-- db/min-unpacked-rev -- +0 +-- db/revprops/0/0 -- +K 8 +svn:date +V 27 +2017-09-22T01:11:53.895835Z +END +-- db/revs/0/0 -- +PLAIN +END +ENDREP +id: 0.0.r0/17 +type: dir +count: 0 +text: 0 0 4 4 2d2977d1c96f487abe4a1e202dd03b4e +cpath: / + + +17 107 +-- db/txn-current -- +0 +-- db/txn-current-lock -- +-- db/uuid -- +53cccb44-0fca-40a2-b0c5-acaf9e75039a +-- db/write-lock -- +-- format -- +5 +-- hooks/pre-revprop-change -- +#!/bin/sh + +-- hooks/pre-revprop-change.bat -- +@exit diff --git a/src/cmd/go/testdata/vcstest/svn/test2-svn-git.txt b/src/cmd/go/testdata/vcstest/svn/test2-svn-git.txt new file mode 100644 index 0000000..bf82797 --- /dev/null +++ b/src/cmd/go/testdata/vcstest/svn/test2-svn-git.txt @@ -0,0 +1,154 @@ +handle svn + +# Note: this repo script does not produce a byte-for-byte copy of the original. +# +# The 'git init' operation in the nested Git repo creates some sample files +# whose contents depend on the exact Git version in use, and the steps we take +# to construct a fake 'git clone' status don't produce some log files that +# a real 'git clone' leaves behind. +# +# However, the repo is probably accurate enough for the tests that need it. + +env GIT_AUTHOR_NAME='Russ Cox' +env GIT_AUTHOR_EMAIL='rsc@golang.org' +env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME +env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL + +mkdir db/transactions +mkdir db/txn-protorevs +chmod 0755 hooks/pre-revprop-change + +env ROOT=$PWD +cd .checkout +[GOOS:windows] svn checkout file:///$ROOT . +[!GOOS:windows] svn checkout file://$ROOT . + +git init +git config --add core.ignorecase true +git config --add core.precomposeunicode true + +git add README +at 2017-09-22T11:39:03-04:00 +git commit -a -m 'README' +git branch -m master + +git rev-parse HEAD +stdout '^7f800d2ac276dd7042ea0e8d7438527d236fd098$' + + # Fake a clone from an origin repo at this commit. +git remote add origin https://vcs-test.swtch.com/git/README-only +mkdir .git/refs/remotes/origin +echo 'ref: refs/remotes/origin/master' +cp stdout .git/refs/remotes/origin/HEAD +unquote '# pack-refs with: peeled fully-peeled \n7f800d2ac276dd7042ea0e8d7438527d236fd098 refs/remotes/origin/master\n' +cp stdout .git/packed-refs +git branch --set-upstream-to=origin/master + +git add pkg/pkg.go +at 2017-09-22T11:41:28-04:00 +git commit -a -m 'add pkg' + +git log --oneline --decorate=short +cmp stdout .git-log + +rm README + +svn add .git pkg +svn commit -m 'git' +svn propset svn:author rsc --revprop -r1 +svn propset svn:date 2017-09-27T18:00:52.201719Z --revprop -r1 + +svn add p1 +svn commit -m 'add p1' +svn propset svn:author rsc --revprop -r2 +svn propset svn:date 2017-09-27T18:16:14.650893Z --revprop -r2 + +git remote set-url origin https://vcs-test.golang.org/git/README-only +svn commit -m 'move from vcs-test.swtch.com to vcs-test.golang.org' +svn propset svn:author rsc --revprop -r3 +svn propset svn:date 2017-10-04T15:09:35.963034Z --revprop -r3 + +svn update +svn log --xml + +[GOOS:windows] replace '\n' '\r\n' .svn-log +cmp stdout .svn-log + +-- .checkout/.git-log -- +ab9f66b (HEAD -> master) add pkg +7f800d2 (origin/master, origin/HEAD) README +-- .checkout/p1/p1.go -- +package p1 +-- .checkout/pkg/pkg.go -- +package pkg +const Message = "code not in git-README-only" +-- .checkout/README -- +README +-- .checkout/p1/p1.go -- +package p1 +-- .checkout/.svn-log -- +<?xml version="1.0" encoding="UTF-8"?> +<log> +<logentry + revision="3"> +<author>rsc</author> +<date>2017-10-04T15:09:35.963034Z</date> +<msg>move from vcs-test.swtch.com to vcs-test.golang.org</msg> +</logentry> +<logentry + revision="2"> +<author>rsc</author> +<date>2017-09-27T18:16:14.650893Z</date> +<msg>add p1</msg> +</logentry> +<logentry + revision="1"> +<author>rsc</author> +<date>2017-09-27T18:00:52.201719Z</date> +<msg>git</msg> +</logentry> +</log> +-- conf/authz -- +-- conf/passwd -- +-- conf/svnserve.conf -- +-- db/current -- +0 +-- db/format -- +6 +layout sharded 1000 +-- db/fs-type -- +fsfs +-- db/fsfs.conf -- +-- db/min-unpacked-rev -- +0 +-- db/revprops/0/0 -- +K 8 +svn:date +V 27 +2017-09-22T01:11:53.895835Z +END +-- db/revs/0/0 -- +PLAIN +END +ENDREP +id: 0.0.r0/17 +type: dir +count: 0 +text: 0 0 4 4 2d2977d1c96f487abe4a1e202dd03b4e +cpath: / + + +17 107 +-- db/txn-current -- +0 +-- db/txn-current-lock -- +-- db/uuid -- +53cccb44-0fca-40a2-b0c5-acaf9e75039a +-- db/write-lock -- +-- format -- +5 +-- hooks/pre-revprop-change -- +#!/bin/sh + +-- hooks/pre-revprop-change.bat -- +@exit |