Re: [GIT GUI PATCH] git-gui: fix open explorer window on Windows 7
From: Markus Heidelberg <hidden>
Date: 2016-06-15 22:48:20
Heiko Voigt, 2010-02-23 23:52:
quoted hunk ↗ jump to hunk
It seems that Windows 7's explorer is not capable to cope with paths that contain forward slashes as path seperator. We thus substitute slash with the platforms native backslash. Signed-off-by: Heiko Voigt <redacted> --- git-gui/git-gui.sh | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh index 9a9525d..ae45a12 100644 --- a/git-gui/git-gui.sh +++ b/git-gui/git-gui.sh@@ -2112,15 +2112,17 @@ proc do_git_gui {} { proc do_explore {} { global _gitworktree set explorer {} + set path $_gitworktree if {[is_Cygwin] || [is_Windows]} { set explorer "explorer.exe" + set path [list [string map {/ \\} $path]]
I remember having had the same problem, which I fixed with [file nativename]. See commit 454efb47b (git-gui (Win): make "Explore Working Copy" more robust). But that was on XP, shouldn't be Windows 7 specific. So why does it fail now again, although I had fixed it? ...
} elseif {[is_MacOSX]} {
set explorer "open"
} else {
# freedesktop.org-conforming system is our best shot
set explorer "xdg-open"
}
- eval exec $explorer $_gitworktree &
+ eval exec $explorer $path &Ah, this doesn't look like what it looked like back then. Commit 21985a113 (git-gui: handle non-standard worktree locations) changed it, removing the [file nativename]. I don't know if this was by accident, but there is another place, where it was changed in a different manner: Compare - eval exec $explorer [list [file nativename [file dirname [gitdir]]]] & + eval exec $explorer $_gitworktree & with -wm title . "[appname] ([reponame]) [file normalize [file dirname [gitdir]]]" +wm title . "[appname] ([reponame]) [file normalize $_gitworktree]" Maybe _gitworktree should be normalized or nativenamified when it is set and then will work everywhere it is used for every platform? Markus