gitk: Fix "blame parent commit" with separate work tree
authorMartin von Zweigbergk <martin.von.zweigbergk@gmail.com>
Tue, 5 Apr 2011 02:14:14 +0000 (22:14 -0400)
committerPaul Mackerras <paulus@samba.org>
Sun, 24 Jul 2011 05:34:54 +0000 (15:34 +1000)
Running "blame parent commit" currently brings up an empty blame view
when the the work tree is not the parent of the git directory.  Fix it
by feeding git-blame paths relative to $GIT_WORK_TREE instead of
"$GIT_DIR/..".

Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
gitk

diff --git a/gitk b/gitk
index 4c99dd601a326e2a2cf595348ffd5fb6182de425..862646779fbc59cdad41f904ee5bd11ef1adfcf2 100755 (executable)
--- a/gitk
+++ b/gitk
@@ -3557,7 +3557,7 @@ proc make_relative {f} {
 }
 
 proc external_blame {parent_idx {line {}}} {
-    global flist_menu_file gitdir
+    global flist_menu_file cdup
     global nullid nullid2
     global parentlist selectedline currentid
 
@@ -3576,7 +3576,7 @@ proc external_blame {parent_idx {line {}}} {
     if {$line ne {} && $line > 1} {
        lappend cmdline "--line=$line"
     }
-    set f [file join [file dirname $gitdir] $flist_menu_file]
+    set f [file join $cdup $flist_menu_file]
     # Unfortunately it seems git gui blame doesn't like
     # being given an absolute path...
     set f [make_relative $f]