git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] git-gui: fix "Explore Working Copy" for Windows again

From
Markus Heidelberg <markus.heidelberg@web.de>
Date
Feb 25, 2010, 00:14 UTC
Message-ID
<201002250114.23322.markus.heidelberg@web.de>
In-Reply-To
<a5b261831002240412x30490e25wbec74cdbc1d0ebd2@mail.gmail.com>

It has already been fixed in commit 454efb47 (git-gui (Win): make "Explore Working Copy" more robust, 2009-04-01), but has been broken in commit 21985a11 (git-gui: handle non-standard worktree locations, 2010-01-23) by accidentally replacing too much with a new variable.

The problem can be reproduced when starting git-gui from within a subdirectory. The solution is to convert the path name, explorer.exe is invoked with, to a platform native name.

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
---
Show 14 quoted lines
> > > Maybe _gitworktree should be normalized or nativenamified when it is set
> > > and then will work everywhere it is used for every platform?
> > 
> > The only issue with that would be that GIT_DIR and GIT_WORK_TREE are
> > (re)inizialized
> > from _gitdir and _gitworktree, so it would not be safe if git on
> > Windows works better with unix-style rather than native paths. If git
> > on windows handles native paths fine, it should be no problem.
> 
> Tcl internally uses unix type path separators but once you export this
> path to the operating system you may need to ensure it is a native
> path. Typically that means when calling [exec]. [open] is a tcl
> command and will deal with a path variable in either style. The Tcl
> exec man page has some notes on the compatibility issues.
So this should be the obvious solution.
 git-gui.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/git-gui.sh b/git-gui.sh
index 8996d2d..7184afa 100755
--- a/git-gui.sh
+++ b/git-gui.sh
@@ -2101,7 +2101,7 @@ proc do_explore {} {
 		# freedesktop.org-conforming system is our best shot
 		set explorer "xdg-open"
 	}
-	eval exec $explorer $_gitworktree &
+	eval exec $explorer [list [file nativename $_gitworktree]] &
 }
 
 set is_quitting 0
-- 
1.7.0.52.gb3f79
Previous: Pat ThoytsNext: Heiko Voigt
Message 5 of 13 in “git-gui: fix open explorer window on Windows 7”
  1. git-gui: fix open explorer window on Windows 7Heiko Voigt, Feb 23, 2010
  2. Markus HeidelbergFeb 24, 2010
  3. Giuseppe BilottaFeb 24, 2010
  4. Pat ThoytsFeb 24, 2010
  5. git-gui: fix "Explore Working Copy" for Windows againMarkus Heidelberg, Feb 25, 2010
  6. Heiko VoigtFeb 25, 2010
  7. Pat ThoytsFeb 25, 2010
  8. Johannes SchindelinFeb 26, 2010
  9. Heiko VoigtFeb 27, 2010
  10. Pat ThoytsFeb 24, 2010
  11. Heiko VoigtFeb 25, 2010
  12. Markus HeidelbergFeb 25, 2010
  13. Pat ThoytsFeb 25, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.