mirror of
https://github.com/golang/go
synced 2024-11-23 04:00:03 -07:00
cmd/go: link to the FAQ for errors that indicate private VCS repos.
Updates #25982 Change-Id: I5a284e3844e944f9bfae31fa65b242060d4139c7 Reviewed-on: https://go-review.googlesource.com/c/150777 Run-TryBot: Julie Qiu <julie@golang.org> Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
This commit is contained in:
parent
d70b0ece2f
commit
9a11b73635
@ -196,9 +196,10 @@ func WorkDir(typ, name string) (dir, lockfile string, err error) {
|
||||
}
|
||||
|
||||
type RunError struct {
|
||||
Cmd string
|
||||
Err error
|
||||
Stderr []byte
|
||||
Cmd string
|
||||
Err error
|
||||
Stderr []byte
|
||||
HelpText string
|
||||
}
|
||||
|
||||
func (e *RunError) Error() string {
|
||||
@ -207,6 +208,9 @@ func (e *RunError) Error() string {
|
||||
if len(stderr) > 0 {
|
||||
text += ":\n\t" + strings.ReplaceAll(string(stderr), "\n", "\n\t")
|
||||
}
|
||||
if len(e.HelpText) > 0 {
|
||||
text += "\n" + e.HelpText
|
||||
}
|
||||
return text
|
||||
}
|
||||
|
||||
|
@ -164,6 +164,11 @@ func (r *gitRepo) loadRefs() {
|
||||
// Most of the time we only care about tags but sometimes we care about heads too.
|
||||
out, err := Run(r.dir, "git", "ls-remote", "-q", r.remote)
|
||||
if err != nil {
|
||||
if rerr, ok := err.(*RunError); ok {
|
||||
if bytes.Contains(rerr.Stderr, []byte("fatal: could not read Username")) {
|
||||
rerr.HelpText = "If this is a private repository, see https://golang.org/doc/faq#git_https for additional information."
|
||||
}
|
||||
}
|
||||
r.refsErr = err
|
||||
return
|
||||
}
|
||||
|
10
src/cmd/go/testdata/script/mod_get_private_vcs.txt
vendored
Normal file
10
src/cmd/go/testdata/script/mod_get_private_vcs.txt
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
env GO111MODULE=on
|
||||
|
||||
# Testing stderr for git ls-remote; turn off proxy.
|
||||
[!net] skip
|
||||
[!exec:git] skip
|
||||
env GOPROXY=
|
||||
|
||||
! go get github.com/golang/nonexist
|
||||
stderr 'If this is a private repository, see https://golang.org/doc/faq#git_https for additional information.'
|
||||
! stdout .
|
Loading…
Reference in New Issue
Block a user