]> Cypherpunks repositories - gostls13.git/commitdiff
builder: reuse existing workspace if possible
authorShenghou Ma <minux.ma@gmail.com>
Wed, 22 Feb 2012 20:39:53 +0000 (15:39 -0500)
committerRuss Cox <rsc@golang.org>
Wed, 22 Feb 2012 20:39:53 +0000 (15:39 -0500)
R=golang-dev, bradfitz, rsc
CC=golang-dev
https://golang.org/cl/5690069

misc/dashboard/builder/main.go

index 5d0d6b2960d4bb2da13d5eba614e47bcb0b962ec..4fe65b7a5d287e0fe96e5b0bd90544bb37a53855 100644 (file)
@@ -94,15 +94,19 @@ func main() {
                return
        }
 
-       // set up work environment
-       if err := os.RemoveAll(*buildroot); err != nil {
-               log.Fatalf("Error removing build root (%s): %s", *buildroot, err)
-       }
-       if err := os.Mkdir(*buildroot, mkdirPerm); err != nil {
-               log.Fatalf("Error making build root (%s): %s", *buildroot, err)
-       }
-       if err := hgClone(hgUrl, goroot); err != nil {
-               log.Fatal("Error cloning repository:", err)
+       // set up work environment, use existing enviroment if possible
+       if hgRepoExists(goroot) {
+               log.Print("Found old workspace, will use it")
+       } else {
+               if err := os.RemoveAll(*buildroot); err != nil {
+                       log.Fatalf("Error removing build root (%s): %s", *buildroot, err)
+               }
+               if err := os.Mkdir(*buildroot, mkdirPerm); err != nil {
+                       log.Fatalf("Error making build root (%s): %s", *buildroot, err)
+               }
+               if err := hgClone(hgUrl, goroot); err != nil {
+                       log.Fatal("Error cloning repository:", err)
+               }
        }
 
        if *commitFlag {