From: Andrew Gerrand Date: Mon, 17 Sep 2012 18:21:02 +0000 (-0700) Subject: misc/dashboard/builder: reinstate 'go get -d' error handling hack X-Git-Tag: go1.1rc2~2438 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=af832ac0b9609922d486f511dad04fba7a24dc44;p=gostls13.git misc/dashboard/builder: reinstate 'go get -d' error handling hack I thought this was redundant since the behavior of 'go get -d' had changed. I was wrong. Should have tested more thoroughly. R=golang-dev, minux.ma CC=golang-dev https://golang.org/cl/6500136 --- diff --git a/misc/dashboard/builder/main.go b/misc/dashboard/builder/main.go index 8c6b65caeb..5e30115edf 100644 --- a/misc/dashboard/builder/main.go +++ b/misc/dashboard/builder/main.go @@ -360,7 +360,13 @@ func (b *Builder) buildSubrepo(goRoot, pkg, hash string) (string, error) { err = fmt.Errorf("go exited with status %d", status) } if err != nil { - return log, err + // 'go get -d' will fail for a subrepo because its top-level + // directory does not contain a go package. No matter, just + // check whether an hg directory exists and proceed. + hgDir := filepath.Join(goRoot, "src/pkg", pkg, ".hg") + if fi, e := os.Stat(hgDir); e != nil || !fi.IsDir() { + return log, err + } } // hg update to the specified hash