--- git-2.51.0/git-gui/git-gui.sh.orig 2025-08-18 02:18:23.000000000 +0200 +++ git-2.51.0/git-gui/git-gui.sh 2025-08-18 21:04:23.387867700 +0200 @@ -93,6 +93,11 @@ } } +proc is_CygwinGit {} { + # Cygwin git running with Windows Tcl/Tk + return 1 +} + ###################################################################### ## ## PATH lookup. Sanitize $PATH, assure exec/open use only that @@ -268,7 +273,11 @@ if { [info exists ::env(GIT_GUI_LIB_DIR) ] } { set oguilib $::env(GIT_GUI_LIB_DIR) } else { - set oguilib {@@GITGUI_LIBDIR@@} + if {[is_Windows] && [is_CygwinGit]} { + set oguilib [exec cygpath --windows --absolute {@@GITGUI_LIBDIR@@}] + } else { + set oguilib {@@GITGUI_LIBDIR@@} + } } set oguirel {@@GITGUI_RELATIVE@@} if {$oguirel eq {1}} { @@ -1183,7 +1192,11 @@ load_config 0 apply_config -set _gitworktree [git rev-parse --show-toplevel] +if {[is_Windows] && [is_CygwinGit]} { + set _gitworktree [exec cygpath --windows [git rev-parse --show-toplevel]] +} else { + set _gitworktree [git rev-parse --show-toplevel] +} if {$_prefix ne {}} { if {$_gitworktree eq {}} { @@ -2123,7 +2136,11 @@ if {[is_Cygwin]} { set explorer "/bin/cygstart.exe --explore" } elseif {[is_Windows]} { - set explorer "explorer.exe" + if {[is_CygwinGit]} { + set explorer [_which "explorer"] + } else { + set explorer "explorer.exe" + } } elseif {[is_MacOSX]} { set explorer "open" } else {