From 3c12ec8053fbd0b81a23c0cb00bd35c71a4c078f Mon Sep 17 00:00:00 2001 From: Tim Pope Date: Sun, 18 Mar 2012 20:57:36 -0400 Subject: [PATCH] Support symlinked .git if core.worktree is set Closes #155. --- plugin/fugitive.vim | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugin/fugitive.vim b/plugin/fugitive.vim index f5cffac..8ae1b91 100644 --- a/plugin/fugitive.vim +++ b/plugin/fugitive.vim @@ -123,7 +123,8 @@ function! s:extract_git_dir(path) abort while fn !=# ofn let embedded = s:sub(fn, '[\/]$', '') . '/.git' if s:is_git_dir(embedded) - return s:sub(simplify(fnamemodify(fn . '/.git',':p')),'\W$','') + let full = s:sub(fnamemodify(fn . '/.git', ':p'),'\W$','') + return getftype(full) ==# 'link' ? resolve(full) : simplify(full) elseif filereadable(embedded) let line = readfile(embedded,1)[0] if line =~# '^gitdir: '