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

[PATCH] Handle failure of core.worktree to identify the working directory.

From
Pat Thoyts <patthoyts@users.sourceforge.net>
Date
Feb 18, 2010, 02:11 UTC
Message-ID
<87iq9vgugf.fsf@users.sourceforge.net>
In-Reply-To
<20100217121304.GA1623@tugrik.mns.mnsspb.ru>

Commit 21985a11 'git-gui: handle non-standard worktree locations' attempts to use either GIT_WORK_TREE or core.worktree to set the _gitworktree variable but these may not be set which leads to a failure to launch gitk to review history. Use _gitdir to set the location for a standard git layout where the parent of the .git directory is the working tree.

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
---
Show 16 quoted lines
>Git-gui as shipped with todays git.git master is a bit broken:
>
>in git.git master (v1.7.0-29-g6d81630), try running:
>
>    $ git gui blame xdiff-interface.h
>
>Then select first line 'd9ea d9ea   1 #ifndef XDIFF_INTERFACE_H', right
>click to popup context menu, select "Show History Context" -->
>
>--> git gui errors with:
>
>    "Error: couldn't change working directory to "": no ...
>
>
>Thanks,
>Kirill
 git-gui.sh |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/git-gui.sh b/git-gui.sh
index 8996d2d..ec81b15 100755
--- a/git-gui.sh
+++ b/git-gui.sh
@@ -1158,6 +1158,9 @@ apply_config
 # try to set work tree from environment, falling back to core.worktree
 if {[catch { set _gitworktree $env(GIT_WORK_TREE) }]} {
 	set _gitworktree [get_config core.worktree]
+	if {$_gitworktree eq ""} {
+		set _gitworktree [file dirname [file normalize $_gitdir]]
+	}
 }
 if {$_prefix ne {}} {
 	if {$_gitworktree eq {}} {
-- 
1.6.5.1.1367.gcd48


-- 
Pat Thoyts                            http://www.patthoyts.tk/
PGP fingerprint 2C 6E 98 07 2C 59 C8 97  10 CE 11 E6 04 E0 B9 DD
Previous: Kirill SmelkovNext: Kirill Smelkov
Message 2 of 3 in “[BUG] git-gui blame: "Show History Context" is broken”
  1. Kirill SmelkovFeb 17, 2010
  2. Handle failure of core.worktree to identify the working directory.Pat Thoyts, Feb 18, 2010
  3. Kirill SmelkovFeb 19, 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.