git-gui: Correct gitk installation location

The master Makefile in git.git installs gitk into bindir, not
gitexecdir, which means gitk is located as a sibling of the git
wrapper and not as though it were a git helper tool.

We can also avoid some Tcl concat operations by letting eval do
all of the heavy lifting; we have two proper Tcl lists ($cmd and
$revs) that we are joining together and $revs is currently never
an empty list.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
maint
Shawn O. Pearce 2007-07-09 02:10:39 -04:00
parent 0b81261622
commit 02efd48f52
1 changed files with 4 additions and 12 deletions

View File

@ -1303,24 +1303,16 @@ proc incr_font_size {font {amt 1}} {
set starting_gitk_msg {Starting gitk... please wait...}

proc do_gitk {revs} {
global env starting_gitk_msg

# -- Always start gitk through whatever we were loaded with. This
# lets us bypass using shell process on Windows systems.
#
set cmd [list [info nameofexecutable]]
set exe [gitexec gitk]
lappend cmd $exe
if {$revs ne {}} {
append cmd { }
append cmd $revs
}

set exe [file join [file dirname $::_git] gitk]
set cmd [list [info nameofexecutable] $exe]
if {! [file exists $exe]} {
error_popup "Unable to start gitk:\n\n$exe does not exist"
} else {
eval exec $cmd &
ui_status $starting_gitk_msg
eval exec $cmd $revs &
ui_status $::starting_gitk_msg
after 10000 {
ui_ready $starting_gitk_msg
}