]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: make vcstest repo scripts compatible with old Git versions
authorBryan C. Mills <bcmills@google.com>
Tue, 25 Oct 2022 14:28:50 +0000 (10:28 -0400)
committerGopher Robot <gobot@golang.org>
Tue, 25 Oct 2022 15:36:24 +0000 (15:36 +0000)
The scripts added in CL 421455 passed on the TryBots, but failed on a
subset of the builders that have older 'git' binaries installed.

Notably, the older versions of git do not support:
- 'git branch -m' before the current branch has a commit
- 'init.defaultBranch' in the '.gitconfig' file, and
- 'git branch -c'.

We address those by, respectively:
- waiting to run 'git branch -m' until after the first commit
- always running 'git branch -m' explicitly to set the branch name, and
- using 'git checkout' instead of 'git branch -c' to set branch parents.

Updates #27494.

Change-Id: I42f012f5add8f31e41d077d752d8268aacbce8a4
Reviewed-on: https://go-review.googlesource.com/c/go/+/445355
Run-TryBot: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Than McIntosh <thanm@google.com>
Auto-Submit: Bryan Mills <bcmills@google.com>

24 files changed:
src/cmd/go/testdata/vcstest/git/commit-after-tag.txt
src/cmd/go/testdata/vcstest/git/empty-v2-without-v1.txt
src/cmd/go/testdata/vcstest/git/emptytest.txt
src/cmd/go/testdata/vcstest/git/gitrepo1.txt
src/cmd/go/testdata/vcstest/git/hello.txt
src/cmd/go/testdata/vcstest/git/insecurerepo.txt
src/cmd/go/testdata/vcstest/git/mainonly.txt
src/cmd/go/testdata/vcstest/git/modlegacy1-new.txt
src/cmd/go/testdata/vcstest/git/modlegacy1-old.txt
src/cmd/go/testdata/vcstest/git/no-tags.txt
src/cmd/go/testdata/vcstest/git/odd-tags.txt
src/cmd/go/testdata/vcstest/git/prefixtagtests.txt
src/cmd/go/testdata/vcstest/git/querytest.txt
src/cmd/go/testdata/vcstest/git/retract-pseudo.txt
src/cmd/go/testdata/vcstest/git/semver-branch.txt
src/cmd/go/testdata/vcstest/git/tagtests.txt
src/cmd/go/testdata/vcstest/git/v2repo.txt
src/cmd/go/testdata/vcstest/git/v2sub.txt
src/cmd/go/testdata/vcstest/git/v3pkg.txt
src/cmd/go/testdata/vcstest/git/vgotest1.txt
src/cmd/go/testdata/vcstest/hg/hgrepo1.txt
src/cmd/go/testdata/vcstest/hg/vgotest1.txt
src/cmd/go/testdata/vcstest/svn/test1-svn-git.txt
src/cmd/go/testdata/vcstest/svn/test2-svn-git.txt

index b408a4f43dff7c4fab77f29db448ea1c0252490d..eb13a6326efd751fede1a64341be5456cf56c700 100644 (file)
@@ -6,11 +6,11 @@ env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME
 env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL
 
 git init
-git branch -m master
 
 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
index 17a207f2bfb4d9d63ed307e6398f756676117788..afe407ee5535e6f1f9d364f1581146e805064998 100644 (file)
@@ -6,11 +6,11 @@ env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME
 env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL
 
 git init
-git branch -m master
 
 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
index af9bff3690d08cef91c44ad5ca9811ba8bf9fb37..4526202a7bd861936ce796a6d4c0bdebadcdae50 100644 (file)
@@ -6,11 +6,11 @@ env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME
 env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL
 
 git init
-git branch -m master
 
 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
index e909d1208d09660eb3d5c88d9c72b2ffb6370639..7919089792bb8cb4bc2692212074c87a8eb0a8ab 100644 (file)
@@ -6,17 +6,17 @@ env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME
 env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL
 
 git init
-git branch -m master
 
 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 -c v2
+git branch v2
 git checkout v2
 echo 'v2'
 cp stdout v2
@@ -24,7 +24,7 @@ git add v2
 git commit -a -m 'v2'
 git tag v2.3
 git tag v2.0.1
-git branch -c v2.3.4
+git branch v2.3.4
 
 at 2018-04-17T16:00:19-04:00
 echo 'intermediate'
@@ -40,7 +40,8 @@ git commit -a -m 'another'
 git tag v2.0.2
 
 at 2018-04-17T16:16:52-04:00
-git branch -c master v3
+git checkout master
+git branch v3
 git checkout v3
 mkdir v3/sub/dir
 echo 'v3/sub/dir/file'
index a010585ac70cce1ce0a20091c385ce0764d66afd..17ba09cd9e9f4e64d6399f7949e74d3aae2fbc0c 100644 (file)
@@ -6,11 +6,11 @@ env GIT_COMMITTER_NAME='Russ Cox'
 env GIT_COMMITTER_EMAIL='rsc@golang.org'
 
 git init
-git branch -m master
 
 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
index 2cf3782992ac6616d57c71e015796ddb60586987..e0ea62c14d0ee6346a221b7ba4d81a1e1241bde6 100644 (file)
@@ -6,11 +6,11 @@ env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME
 env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL
 
 git init
-git branch -m master
 
 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
index 47b72f8b3862fc5db16c9df5e054fcde6d9e10c2..d294e34e132c1c07618534bf46d64d4200455abf 100644 (file)
@@ -6,11 +6,11 @@ env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME
 env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL
 
 git init
-git branch -m master
 
 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
index 52fdfa724bc31a5fde8312385128528c98c64087..ee14454b19f085247fe9b97764c9ad872b9e5f99 100644 (file)
@@ -6,11 +6,11 @@ env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME
 env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL
 
 git init
-git branch -m master
 
 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
index 06a5179106efc71c5b0183a1e8116f8eec7124aa..bca8f061ef22f3b7fd759737c95a1907a8d3576b 100644 (file)
@@ -6,11 +6,11 @@ env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME
 env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL
 
 git init
-git branch -m master
 
 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
index 8d4fd4c63426415a244d3647dbac79321e563276..5ff009161696d55d3d5b008a38817010384c3ddf 100644 (file)
@@ -6,11 +6,11 @@ env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME
 env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL
 
 git init
-git branch -m master
 
 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
index 9775849cf7cb39317e00d2497a6ca86a1bf7bf24..8e2486741e55dc0741df007ee6edb2c75d8a03fc 100644 (file)
@@ -10,6 +10,7 @@ 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
@@ -19,7 +20,7 @@ git commit -m 'migrate to Go modules'
 git tag 'v0.1.0+build-metadata'
 
 at 2022-02-23T14:41:55-05:00
-git branch -c v3-dev
+git branch v3-dev
 git checkout v3-dev
 cp v3/go.mod go.mod
 git commit go.mod -m 'update to /v3'
index 372711c73f091ec73bb7fb062034a9c79d15b8a0..6c89c857f49ef86304f4ea4257feff92d799c589 100644 (file)
@@ -8,10 +8,10 @@ env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL
 at 2019-05-09T18:35:00-04:00
 
 git init
-git branch -m master
 
 git add sub
 git commit -m 'create module sub'
+git branch -m master
 
 echo 'v0.1.0'
 cp stdout status
index b079027b4233bbf20869735f545c994b45fd3dd7..b0f708a016be9fc21d8e0343dedb3025ca606345 100644 (file)
@@ -6,14 +6,14 @@ env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME
 env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL
 
 git init
-git branch -m master
 
 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 -c v2
+git branch v2
 
 at 2018-07-03T22:33:47-04:00
 echo 'before v0.0.0-pre1'
index 3f07d6cce3f1a5597f621a4b9f28c01f5c14fc82..e189484869e531829dfb373bae48ea1126243208 100644 (file)
@@ -11,6 +11,7 @@ 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
index 86bdd8c9f0938896e62a7587259707796c6f9f7d..69e1762a314647e7d82081ed888241da2b1b5d15 100644 (file)
@@ -10,17 +10,18 @@ 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 -c 'v1.0.0'
-git branch -c 'v2.0.0'
+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 -c 'v3.0.0-devel'
+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'
index b0babb50e2b841c62220c5eebafb5e6a5062d3c4..92e79cda877f87fb1d0b88d9fd989fa6b057ff6a 100644 (file)
@@ -8,11 +8,11 @@ env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL
 at 2019-05-09T18:56:25-04:00
 
 git init
-git branch -m master
 
 git add go.mod tagtests.go
 git commit -m 'create module tagtests'
-git branch -c b
+git branch -m master
+git branch b
 
 git add v0.2.1
 git commit -m 'v0.2.1'
index 6a2216d12724a05798f99fefc7b3842084dce13c..6cbe9241484f6d8d6de18cf1a69f88d8e313f572 100644 (file)
@@ -6,12 +6,12 @@ env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME
 env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL
 
 git init
-git branch -m master
 
 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
index 5ad197a114df8936da47c6032281104ed0ab802c..5d4ab5832fea88a69d0473a04e9909f6437998dd 100644 (file)
@@ -10,6 +10,7 @@ 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
index b5276db4da4b3e82baba92983a63d19f0db7b14c..af18e01b9c1f7a8e3fb372d7fc5e9420f96fe5f2 100644 (file)
@@ -6,12 +6,12 @@ env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME
 env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL
 
 git init
-git branch -m master
 
 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
index a9730ba1ef181587d2c4aa4ce02e27a49499dd27..d2fc741c3c2cac54677a559f13fa7a617033ba25 100644 (file)
@@ -6,11 +6,11 @@ env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME
 env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL
 
 git init
-git branch -m master
 
 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
 
index 0022cf52cbfbbbb4f6735f8ea641a40226a8b7b9..ab10875a83a4745dacd073d9e9fc1583a8865fb9 100644 (file)
@@ -9,17 +9,17 @@ env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME
 env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL
 
 git init
-git branch -m master
 
 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 -c v2
+git branch v2
 git checkout v2
 echo 'v2'
 cp stdout v2
@@ -27,7 +27,7 @@ git add v2
 git commit -a -m 'v2'
 git tag v2.3
 git tag v2.0.1
-git branch -c v2.3.4
+git branch v2.3.4
 git tag branch-v2.3.4
 
 at 2018-04-17T16:00:19-04:00
@@ -45,7 +45,8 @@ git tag v2.0.2
 git tag branch-v2
 
 at 2018-04-17T16:16:52-04:00
-git branch -c master v3
+git checkout master
+git branch v3
 git checkout v3
 mkdir v3/sub/dir
 echo 'v3/sub/dir/file'
index 5e10cefa7b96519694d2c30554f54e7ff681f97f..ec5d5f4357309cb42aa2fb699db08b6c4efd903a 100644 (file)
@@ -8,15 +8,15 @@ env GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME
 env GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL
 
 git init
-git branch -m master
 
 # 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 -c mybranch
+git branch mybranch
 git checkout mybranch
 
 at 2018-02-19T18:10:06-05:00
@@ -30,8 +30,8 @@ git tag v1.0.0
 git tag v2.0.0
 git tag mytag
 
-git branch -c v1
-git branch -c v2
+git branch v1
+git branch v2
 git checkout v2
 
 # 2
index 84abbe0ce511bfb927e83bfe5648251e1ceaad16..06ceef1a41cf9b52f83afb79fdd75838c891177a 100644 (file)
@@ -28,10 +28,10 @@ git init
 git config --add core.ignorecase true
 git config --add core.precomposeunicode true
 
-git branch -m master
 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$'
index ee173fcc409fee9529d92d3d8c8795fb08ce2cff..71d84c45c2f6eff4edd57074c1a059b09c3c06ba 100644 (file)
@@ -27,10 +27,10 @@ git init
 git config --add core.ignorecase true
 git config --add core.precomposeunicode true
 
-git branch -m master
 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$'