Return '' from buffer.path() if outside work tree

In reference to #278.
This commit is contained in:
Tim Pope
2012-12-08 16:47:28 -05:00
parent 7df3a6894a
commit 2723a1116f

View File

@@ -506,9 +506,9 @@ function! s:buffer_path(...) dict abort
let rev = matchstr(self.spec(),'^fugitive://.\{-\}//\zs.*')
if rev != ''
let rev = s:sub(rev,'\w*','')
elseif self.repo().bare()
elseif self.spec()[0 : len(self.repo().dir())] ==# self.repo().dir() . '/'
let rev = '/.git'.self.spec()[strlen(self.repo().dir()) : -1]
else
elseif !self.repo().bare() && self.spec()[0 : len(self.repo().tree())] ==# self.repo().tree() . '/'
let rev = self.spec()[strlen(self.repo().tree()) : -1]
endif
return s:sub(s:sub(rev,'.\zs/$',''),'^/',a:0 ? a:1 : '')