cmd/go-contrib-init: better GOPATH checkout error message

Modify the error message to provide more context if the user is in the
wrong directory. (The default Terminal.app does not do a great job of
showing what directory you are currently in).

Change-Id: Iafcbbd2070ca968863120fb8c4bc15609475cda2
Reviewed-on: https://go-review.googlesource.com/48232
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
diff --git a/cmd/go-contrib-init/contrib.go b/cmd/go-contrib-init/contrib.go
index cb96453..1cd47f8 100644
--- a/cmd/go-contrib-init/contrib.go
+++ b/cmd/go-contrib-init/contrib.go
@@ -147,16 +147,20 @@
 }
 
 func checkWorkingDir() {
-	if *repo == "go" {
-		if inGoPath() {
-			log.Fatal("You can't work on Go from within your GOPATH. Please checkout Go outside of your GOPATH")
-		}
-		return
-	}
 	wd, err := os.Getwd()
 	if err != nil {
 		log.Fatal(err)
 	}
+	if *repo == "go" {
+		if inGoPath(wd) {
+			log.Fatalf(`You can't work on Go from within your GOPATH. Please checkout Go outside of your GOPATH
+
+Current directory: %s
+GOPATH: %s
+`, wd, os.Getenv("GOPATH"))
+		}
+		return
+	}
 
 	gopath := firstGoPath()
 	if gopath == "" {
@@ -197,12 +201,7 @@
 	return true, err
 }
 
-func inGoPath() bool {
-	wd, err := os.Getwd()
-	if err != nil {
-		log.Fatal(err)
-	}
-
+func inGoPath(wd string) bool {
 	if os.Getenv("GOPATH") == "" {
 		return false
 	}