1
0
mirror of https://github.com/golang/go synced 2024-11-23 21:30:08 -07:00

cmd/go: do not try to understand git fetch --depth=1 errors

We used to try a git fetch --depth=1 of a specific hash and
distinguish between an error meaning
"that's not a hash I can give you directly"
(in which case we fall through and pull the whole repo)
and some other error like connection failure, bad ssh key
(in which case we give up).

We've had repeated problems trying to understand the
error meanings so just stop doing that, and fall back to
trying a full fetch on any error at all. If the error really
was some kind of network or auth or i/o problem, then
it will happen the second time and we can report it then.

Fixes #26894.

Change-Id: If1eaaddb87e8bfeff7a3894cce4ecef39802198c
Reviewed-on: https://go-review.googlesource.com/128904
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
This commit is contained in:
Russ Cox 2018-08-09 23:17:45 -04:00
parent ccf04c6029
commit 12d0a2884a

View File

@ -347,9 +347,9 @@ func (r *gitRepo) stat(rev string) (*RevInfo, error) {
if err == nil {
return r.statLocal(rev, ref)
}
if !strings.Contains(err.Error(), "unadvertised object") && !strings.Contains(err.Error(), "no such remote ref") && !strings.Contains(err.Error(), "does not support shallow") {
return nil, err
}
// Don't try to be smart about parsing the error.
// It's too complex and varies too much by git version.
// No matter what went wrong, fall back to a complete fetch.
}
// Last resort.