Skip to contentSkip to conversation

git-gui blame: "Show History Context" is broken

BUG In review Kirill Smelkov 2 participants 3 messages Jun 15, 2016

lore
Share & tools
lore
#0 lore raw

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

#1 lore raw

PATCH 1/1 Handle failure of core.worktree to identify the working directory.

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.

---

Quoted 9 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" -->

Quoted 7 lines

--> 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(-)
git-gui.sh +3 -0
index 8996d2d..ec81b15 100755
@@ -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 {}} {
Signature · 6 lines
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
author Tested-by on v1 1/1
#2 lore raw

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

Quoted 7 lines · Pat Thoyts

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.

Now it works, thanks.

Quoted 34 lines
Quoted 9 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" -->

Quoted 7 lines

--> 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(-)
git-gui.sh +3 -0
index 8996d2d..ec81b15 100755
@@ -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 {}} {