git-gui: use /cmd/git-gui.exe for shortcut
git-gui on Windows creates a shortcut that presumes the git-gui script will run on the basic Windows environment as configured. But, Git for Windows uses wrapper scripts to launch executables, assuring the environment is correct (see [1] for details). The launcher for git-gui is /cmd/git-gui.exe, is not on PATH, and is not detected or used by the current shortcut code. Let's look for this before trying the existing approaches. [1] https://gitforwindows.org/git-wrapper.html Signed-off-by: Mark Levedahl <mlevedahl@gmail.com>
Mark Levedahl committed
Apr 13, 2025 at 14:45 UTC
158800ac9c792b875b2cd138a1ecbfb14fa6a71a
1 file changed
+4
-1
lib/shortcut.tcl
+4
-1
@@ -23,7 +23,10 @@ proc do_windows_shortcut {} {
23
24
# Use git-gui.exe if found, fall back to wish + launcher
25
set link_arguments {}
26
- set link_target [_which git-gui]
26
+ set link_target [safe_exec [list cygpath -m /cmd/git-gui.exe]]
27
+ if {![file executable $link_target]} {
28
+ set link_target [_which git-gui]
29
+ }
30
if {![file executable $link_target]} {
31
set link_target [file normalize [info nameofexecutable]]
32
set link_arguments [file normalize $::argv0]