Check for the existence of the git directory on startup.
[gitweb.git] / gitk
diff --git a/gitk b/gitk
index 9ad7bfc7e164b7d6194ddf0a8ed08b9ea708b98f..b44144870d5dc9836b225dfdd8553c0effeec43e 100755 (executable)
--- a/gitk
+++ b/gitk
@@ -8,10 +8,20 @@ exec wish "$0" -- "${1+$@}"
 # either version 2, or (at your option) any later version.
 
 proc getcommits {rargs} {
-    global commits commfd phase canv mainfont
+    global commits commfd phase canv mainfont env
     global startmsecs nextupdate
     global ctext maincursor textcursor leftover
 
+    # check that we can find a .git directory somewhere...
+    if {[info exists env(GIT_DIR)]} {
+       set gitdir $env(GIT_DIR)
+    } else {
+       set gitdir ".git"
+    }
+    if {![file isdirectory $gitdir]} {
+       error_popup "Cannot find the git directory \"$gitdir\"."
+       exit 1
+    }
     set commits {}
     set phase getcommits
     set startmsecs [clock clicks -milliseconds]