aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShenghou Ma <minux.ma@gmail.com>2012-02-22 15:39:53 -0500
committerRuss Cox <rsc@golang.org>2012-02-22 15:39:53 -0500
commitbb4a490928aeb1b6d6cc50954da141b3cf0cacde (patch)
treed36d162c0012aee3c19fe989527bb9ea61b89d8e
parent213997a7302c07f74d35ab0510e80f0ed1c2ff22 (diff)
downloadgo-bb4a490928aeb1b6d6cc50954da141b3cf0cacde.tar.gz
go-bb4a490928aeb1b6d6cc50954da141b3cf0cacde.zip
builder: reuse existing workspace if possible
R=golang-dev, bradfitz, rsc CC=golang-dev https://golang.org/cl/5690069
-rw-r--r--misc/dashboard/builder/main.go22
1 files changed, 13 insertions, 9 deletions
diff --git a/misc/dashboard/builder/main.go b/misc/dashboard/builder/main.go
index 5d0d6b2960..4fe65b7a5d 100644
--- a/misc/dashboard/builder/main.go
+++ b/misc/dashboard/builder/main.go
@@ -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 {