]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: add helpful error message when vcs is not found.
authorGustavo Franco <gustavorfranco@gmail.com>
Tue, 29 Jan 2013 16:20:43 +0000 (08:20 -0800)
committerBrad Fitzpatrick <bradfitz@golang.org>
Tue, 29 Jan 2013 16:20:43 +0000 (08:20 -0800)
Fixes #4652.

R=bradfitz, minux.ma, rsc
CC=golang-dev
https://golang.org/cl/7094049

src/cmd/go/vcs.go

index 437e6400bb3f0be9a1b79fe62d8878adf4e132ed..8042935b9dc2ac2dd6334a53c87fa05ce7d17b6b 100644 (file)
@@ -180,6 +180,14 @@ func (v *vcsCmd) run1(dir string, cmdline string, keyval []string, verbose bool)
                args[i] = expand(m, arg)
        }
 
+       _, err := exec.LookPath(v.cmd)
+       if err != nil {
+               fmt.Fprintf(os.Stderr,
+                       "go: missing %s command. See http://golang.org/s/gogetcmd\n",
+                       v.name)
+               return nil, err
+       }
+
        cmd := exec.Command(v.cmd, args...)
        cmd.Dir = dir
        if buildX {
@@ -189,7 +197,7 @@ func (v *vcsCmd) run1(dir string, cmdline string, keyval []string, verbose bool)
        var buf bytes.Buffer
        cmd.Stdout = &buf
        cmd.Stderr = &buf
-       err := cmd.Run()
+       err = cmd.Run()
        out := buf.Bytes()
        if err != nil {
                if verbose || buildV {