зеркало из https://github.com/CryptoPro/go.git
cmd/go: pass --no-decorate when listing git tags for a commit
This avoids a parse error when the user's global .gitconfig sets log.decorate to true. Fixes #51312. Change-Id: Ic47b0f604c0c3a404ec50d6e09f4e138045ac2f2 Reviewed-on: https://go-review.googlesource.com/c/go/+/387835 Run-TryBot: Bryan Mills <bcmills@google.com> Auto-Submit: Bryan Mills <bcmills@google.com> Reviewed-by: Bryan Mills <bcmills@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
This commit is contained in:
Родитель
3580ef9d64
Коммит
a30f434667
|
@ -447,7 +447,7 @@ func (r *gitRepo) fetchRefsLocked() error {
|
||||||
// statLocal returns a RevInfo describing rev in the local git repository.
|
// statLocal returns a RevInfo describing rev in the local git repository.
|
||||||
// It uses version as info.Version.
|
// It uses version as info.Version.
|
||||||
func (r *gitRepo) statLocal(version, rev string) (*RevInfo, error) {
|
func (r *gitRepo) statLocal(version, rev string) (*RevInfo, error) {
|
||||||
out, err := Run(r.dir, "git", "-c", "log.showsignature=false", "log", "-n1", "--format=format:%H %ct %D", rev, "--")
|
out, err := Run(r.dir, "git", "-c", "log.showsignature=false", "log", "--no-decorate", "-n1", "--format=format:%H %ct %D", rev, "--")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, &UnknownRevisionError{Rev: rev}
|
return nil, &UnknownRevisionError{Rev: rev}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
env GO111MODULE=on
|
||||||
|
|
||||||
|
[!net] skip
|
||||||
|
[!exec:git] skip
|
||||||
|
|
||||||
|
env GOPROXY=direct
|
||||||
|
env HOME=$WORK/home/gopher
|
||||||
|
|
||||||
|
|
||||||
|
go env GOPROXY
|
||||||
|
stdout 'direct'
|
||||||
|
|
||||||
|
exec git config --get log.decorate
|
||||||
|
stdout 'full'
|
||||||
|
|
||||||
|
# Test that Git log with user's global config '~/gitconfig' has log.decorate=full
|
||||||
|
# go mod download has an error 'v1.x.y is not a tag'
|
||||||
|
# with go1.16.14:
|
||||||
|
# `go1.16.14 list -m vcs-test.golang.org/git/gitrepo1.git@v1.2.3`
|
||||||
|
# will output with error:
|
||||||
|
# go list -m: vcs-test.golang.org/git/gitrepo1.git@v1.2.3: invalid version: unknown revision v1.2.3
|
||||||
|
# See golang/go#51312.
|
||||||
|
go list -m vcs-test.golang.org/git/gitrepo1.git@v1.2.3
|
||||||
|
stdout 'vcs-test.golang.org/git/gitrepo1.git v1.2.3'
|
||||||
|
|
||||||
|
-- $WORK/home/gopher/.gitconfig --
|
||||||
|
[log]
|
||||||
|
decorate = full
|
Загрузка…
Ссылка в новой задаче