Browse Source

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 <pape@smarden.org>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
maint
Gerrit Pape 18 years ago committed by Shawn O. Pearce
parent
commit
7aecb12877
  1. 8
      git-gui.sh

8
git-gui.sh

@ -1042,15 +1042,17 @@ proc do_gitk {revs} { @@ -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} {

Loading…
Cancel
Save