gobuilder: work with codereview plugin enabled in .hgrc
Fixes #3312.
R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/5907065
diff --git a/misc/dashboard/builder/Makefile b/misc/dashboard/builder/Makefile
index abf3755..4e4d408 100644
--- a/misc/dashboard/builder/Makefile
+++ b/misc/dashboard/builder/Makefile
@@ -2,8 +2,8 @@
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
-gobuilder: $(shell ls *.go)
+builder: $(shell ls *.go)
go build -o $@ $^
clean:
- rm -f gobuilder
+ rm -f builder
diff --git a/misc/dashboard/builder/main.go b/misc/dashboard/builder/main.go
index 85bb7ad..4210d88 100644
--- a/misc/dashboard/builder/main.go
+++ b/misc/dashboard/builder/main.go
@@ -220,7 +220,7 @@
// Look for hash locally before running hg pull.
if _, err := fullHash(goroot, hash[:12]); err != nil {
// Don't have hash, so run hg pull.
- if err := run(nil, goroot, "hg", "pull"); err != nil {
+ if err := run(nil, goroot, hgCmd("pull")...); err != nil {
log.Println("hg pull failed:", err)
return false
}
@@ -243,12 +243,12 @@
defer os.RemoveAll(workpath)
// clone repo
- if err := run(nil, workpath, "hg", "clone", goroot, "go"); err != nil {
+ if err := run(nil, workpath, hgCmd("clone", goroot, "go")...); err != nil {
return err
}
// update to specified revision
- if err := run(nil, filepath.Join(workpath, "go"), "hg", "update", hash); err != nil {
+ if err := run(nil, filepath.Join(workpath, "go"), hgCmd("update", hash)...); err != nil {
return err
}
@@ -369,7 +369,7 @@
// hg update to the specified hash
pkgPath := filepath.Join(goRoot, "src/pkg", pkg)
- if err := run(nil, pkgPath, "hg", "update", hash); err != nil {
+ if err := run(nil, pkgPath, hgCmd("update", hash)...); err != nil {
return "", err
}
@@ -475,7 +475,7 @@
}
func hgClone(url, path string) error {
- return run(nil, *buildroot, "hg", "clone", url, path)
+ return run(nil, *buildroot, hgCmd("clone", url, path)...)
}
func hgRepoExists(path string) bool {
@@ -532,17 +532,17 @@
}
}
- if err := run(nil, pkgRoot, "hg", "pull"); err != nil {
+ if err := run(nil, pkgRoot, hgCmd("pull")...); err != nil {
log.Printf("hg pull: %v", err)
return
}
const N = 50 // how many revisions to grab
- data, _, err := runLog(nil, "", pkgRoot, "hg", "log",
+ data, _, err := runLog(nil, "", pkgRoot, hgCmd("log",
"--encoding=utf-8",
"--limit="+strconv.Itoa(N),
- "--template="+xmlLogTemplate,
+ "--template="+xmlLogTemplate)...,
)
if err != nil {
log.Printf("hg log: %v", err)
@@ -628,11 +628,11 @@
// fullHash returns the full hash for the given Mercurial revision.
func fullHash(root, rev string) (string, error) {
s, _, err := runLog(nil, "", root,
- "hg", "log",
- "--encoding=utf-8",
- "--rev="+rev,
- "--limit=1",
- "--template={node}",
+ hgCmd("log",
+ "--encoding=utf-8",
+ "--rev="+rev,
+ "--limit=1",
+ "--template={node}")...,
)
if err != nil {
return "", nil
@@ -681,3 +681,7 @@
}
return "", false
}
+
+func hgCmd(args ...string) []string {
+ return append([]string{"hg", "--config", "extensions.codereview=!"}, args...)
+}