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
}