More cmd/api/run.go hell.
Fixes #9407
Change-Id: If8fb446a2471d6372beb0534c9ab6824029b404c
Reviewed-on: https://go-review.googlesource.com/2054
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
Reviewed-by: Minux Ma <minux@golang.org>
}
if err := os.Rename(tmpDir, finalDir); err != nil {
- log.Fatal(err)
+ if os.IsExist(err) {
+ // A different builder beat us into putting this repo into
+ // its final place. But that's fine; if it's there, it's
+ // the right version and we can use it.
+ //
+ // This happens on the Go project's Windows builders
+ // especially, where we have two builders (386 and amd64)
+ // running at the same time, trying to compete for moving
+ // it into place.
+ os.RemoveAll(tmpDir)
+ } else {
+ log.Fatal(err)
+ }
}
return gopath
}