diff options
author | Shenghou Ma <minux.ma@gmail.com> | 2012-02-22 15:39:53 -0500 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2012-02-22 15:39:53 -0500 |
commit | bb4a490928aeb1b6d6cc50954da141b3cf0cacde (patch) | |
tree | d36d162c0012aee3c19fe989527bb9ea61b89d8e | |
parent | 213997a7302c07f74d35ab0510e80f0ed1c2ff22 (diff) | |
download | go-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.go | 22 |
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 { |