diff options
author | Markus Heidelberg <markus.heidelberg@web.de> | 2009-11-04 00:21:41 +0100 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2009-11-14 21:19:12 +1100 |
commit | a4390ace1a871d786b33456d6e80728bd2ab3b61 (patch) | |
tree | 251e0ec1959e661af168b913b3e7222fe620334f | |
parent | gitk: Disable checkout of remote branches (diff) | |
download | tgif-a4390ace1a871d786b33456d6e80728bd2ab3b61.tar.xz |
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 <markus.heidelberg@web.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
-rwxr-xr-x | gitk | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -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 |