dashboard: delay hg pull until needed
R=adg
CC=golang-dev
https://golang.org/cl/4526052
diff --git a/misc/dashboard/builder/main.go b/misc/dashboard/builder/main.go
index c8583f7..86cc0c1 100644
--- a/misc/dashboard/builder/main.go
+++ b/misc/dashboard/builder/main.go
@@ -127,12 +127,6 @@
// go continuous build mode (default)
// check for new commits and build them
for {
- err := run(nil, goroot, "hg", "pull", "-u")
- if err != nil {
- log.Println("hg pull failed:", err)
- time.Sleep(waitInterval)
- continue
- }
built := false
t := time.Nanoseconds()
if *parallel {
@@ -247,6 +241,15 @@
if hash == "" {
return false
}
+ // Look for hash locally before running hg pull.
+
+ if _, err := fullHash(hash[:12]); err != nil {
+ // Don't have hash, so run hg pull.
+ if err := run(nil, goroot, "hg", "pull"); err != nil {
+ log.Println("hg pull failed:", err)
+ return false
+ }
+ }
err = b.buildHash(hash)
if err != nil {
log.Println(err)