Re: [GIT GUI PATCH] git-gui: fix open explorer window on Windows 7

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Heiko Voigt, 2010-02-23 23:52:
> 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 <heiko.voigt@xxxxxxx>
> ---
>  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
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]