From: Gerrit Pape Date: Fri, 29 Jun 2007 11:32:29 +0000 (+0000) Subject: git-gui: properly popup error if gitk should be started but is not installed X-Git-Tag: gitgui-0.7.5~9 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=7aecb128779ffd8258f01f4382df963900ae6acd;p=git.git git-gui: properly popup error if gitk should be started but is not installed On 'Visualize ...', a gitk process is started. Since it is run in the background, catching a possible startup error doesn't work, and the error output goes to the console git-gui is started from. The most probable startup error is that gitk is not installed; so before trying to start, check for the existence of the gitk program, and popup an error message unless it's found. This was noticed and reported by Paul Wise through http://bugs.debian.org/429810 Signed-off-by: Gerrit Pape Signed-off-by: Shawn O. Pearce --- diff --git a/git-gui.sh b/git-gui.sh index 4fbc408c4..6b7321bb0 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -1042,15 +1042,17 @@ proc do_gitk {revs} { # lets us bypass using shell process on Windows systems. # set cmd [list [info nameofexecutable]] - lappend cmd [gitexec gitk] + set exe [gitexec gitk] + lappend cmd $exe if {$revs ne {}} { append cmd { } append cmd $revs } - if {[catch {eval exec $cmd &} err]} { - error_popup "Failed to start gitk:\n\n$err" + if {! [file exists $exe]} { + error_popup "Unable to start gitk:\n\n$exe does not exist" } else { + eval exec $cmd & set ui_status_value $starting_gitk_msg after 10000 { if {$ui_status_value eq $starting_gitk_msg} {