git-gui: handle textconv filter on Windows and in development
When developing/testing we run git-gui.sh directly and the makefile configured variables are not properly set. Configure the new shellpath accessor to handle this case. On Windows we may not find the shell so in this case revert to simply executing the filter command without the shell intermediate. Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
This commit is contained in:
parent
62f9a632c8
commit
d5257fb3c1
@ -139,7 +139,14 @@ if {$_trace >= 0} {
|
|||||||
}
|
}
|
||||||
|
|
||||||
proc shellpath {} {
|
proc shellpath {} {
|
||||||
global _shellpath
|
global _shellpath env
|
||||||
|
if {[string match @@* $_shellpath]} {
|
||||||
|
if {[info exists env(SHELL)]} {
|
||||||
|
return $env(SHELL)
|
||||||
|
} else {
|
||||||
|
return /bin/sh
|
||||||
|
}
|
||||||
|
}
|
||||||
return $_shellpath
|
return $_shellpath
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -461,8 +461,13 @@ method _load {jump} {
|
|||||||
if {$commit eq {}} {
|
if {$commit eq {}} {
|
||||||
if {$do_textconv ne 0} {
|
if {$do_textconv ne 0} {
|
||||||
# Run textconv with sh -c "..." to allow it to
|
# Run textconv with sh -c "..." to allow it to
|
||||||
# contain command + arguments.
|
# contain command + arguments. On windows, just
|
||||||
set fd [open |[list [shellpath] -c "$textconv \"\$0\"" $path] r]
|
# call the filter command.
|
||||||
|
if {![file executable [shellpath]]} {
|
||||||
|
set fd [open |[linsert $textconv end $path] r]
|
||||||
|
} else {
|
||||||
|
set fd [open |[list [shellpath] -c "$textconv \"\$0\"" $path] r]
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
set fd [open $path r]
|
set fd [open $path r]
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user