1. Stefan Saasen
  2. git


Gerrit Pape  committed 7aecb12

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

Signed-off-by: Gerrit Pape <pape@smarden.org>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>

  • Participants
  • Parent commits 7e508eb
  • Branches master

Comments (0)

Files changed (1)

File git-gui.sh

View file
  • Ignore whitespace
 	#    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} {