aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Levedahl <mlevedahl@gmail.com>2025-04-03 10:26:21 -0400
committerTaylor Blau <me@ttaylorr.com>2025-05-23 17:04:23 -0400
commit37b9230226db2a3a81df2e92a44ea655076cd0c4 (patch)
tree62474b9bdfe7ef78043327012c9c8aeb49baf05c
parentMerge branch 'ml/git-gui-exec-path-fix' (diff)
downloadgit-37b9230226db2a3a81df2e92a44ea655076cd0c4.tar.gz
git-37b9230226db2a3a81df2e92a44ea655076cd0c4.zip
git-gui: _which, only add .exe suffix if not present
The _which function finds executables on $PATH, and adds .exe on Windows unless -script was given. However, win32.tcl executes "wscript.exe" and "cscript.exe", both of which fail as _which adds .exe to both. This is already fixed in git-gui released by Git for Windows. Do so here. Signed-off-by: Mark Levedahl <mlevedahl@gmail.com> Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Taylor Blau <me@ttaylorr.com>
-rwxr-xr-xgit-gui.sh3
1 files changed, 3 insertions, 0 deletions
diff --git a/git-gui.sh b/git-gui.sh
index 3e5907a460..2e079b6ab1 100755
--- a/git-gui.sh
+++ b/git-gui.sh
@@ -101,6 +101,9 @@ proc _which {what args} {
if {[is_Windows] && [lsearch -exact $args -script] >= 0} {
set suffix {}
+ } elseif {[is_Windows] && [string match *$_search_exe [string tolower $what]]} {
+ # The search string already has the file extension
+ set suffix {}
} else {
set suffix $_search_exe
}