summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: c876dba)
raw | patch | inline | side by side (parent: c876dba)
author | Pat Thoyts <patthoyts@users.sourceforge.net> | |
Wed, 15 Apr 2009 15:54:19 +0000 (16:54 +0100) | ||
committer | Paul Mackerras <paulus@samba.org> | |
Fri, 17 Apr 2009 12:47:49 +0000 (22:47 +1000) |
This fixes the launching of external diff to handle a diff tool
that has spaces in the path. This ensures a correctly formed
tcl list is passed to the open command with a single pipe character
prefixing the list (as per the tcl manual page for open).
The specific fault observed was that selecting WinMerge as the diff
tool from the default installed location in Program Files failed to
be launched from the context menu.
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
that has spaces in the path. This ensures a correctly formed
tcl list is passed to the open command with a single pipe character
prefixing the list (as per the tcl manual page for open).
The specific fault observed was that selecting WinMerge as the diff
tool from the default installed location in Program Files failed to
be launched from the context menu.
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
gitk | patch | blob | history |
index 045e4abba83789a98532bea6f495d5d214667398..488286f6a1751da8c079c83260d38787a391d603 100755 (executable)
--- a/gitk
+++ b/gitk
set difftofile [external_diff_get_one_file $diffidto $flist_menu_file $diffdir]
if {$difffromfile ne {} && $difftofile ne {}} {
- set cmd [concat | [shellsplit $extdifftool] \
- [list $difffromfile $difftofile]]
- if {[catch {set fl [open $cmd r]} err]} {
+ set cmd [list [shellsplit $extdifftool] $difffromfile $difftofile]
+ if {[catch {set fl [open |$cmd r]} err]} {
file delete -force $diffdir
error_popup "$extdifftool: [mc "command failed:"] $err"
} else {