From: Markus Heidelberg Date: Tue, 3 Nov 2009 23:21:41 +0000 (+0100) Subject: gitk: Fix "git gui blame" invocation when called from top-level directory X-Git-Url: http://privyetmir.co.uk/gitweb.cgi?a=commitdiff_plain;h=a4390ace1a871d786b33456d6e80728bd2ab3b61;p=gitk gitk: Fix "git gui blame" invocation when called from top-level directory When run in the top-level directory of a git repository, "git rev-parse --git-dir" doesn't return an absolute path, but merely ".git", so the selected file for "git gui blame" has a relative path. The function make_relative then tries to make the already relative path relative, which results in a path like "../../../../Makefile" with as many ".." as there are elements of [pwd]. This regression was introduced by commit 9712b81 (gitk: Fix bugs in blaming code, 2008-12-06), which fixed "git gui blame" when called from subdirs. This also fixes it for bare repositories. Signed-off-by: Markus Heidelberg Signed-off-by: Paul Mackerras --- diff --git a/gitk b/gitk index 5f06545..d5f0a88 100755 --- a/gitk +++ b/gitk @@ -3378,6 +3378,9 @@ proc index_sha1 {fname} { # Turn an absolute path into one relative to the current directory proc make_relative {f} { + if {[file pathtype $f] eq "relative"} { + return $f + } set elts [file split $f] set here [file split [pwd]] set ei 0