From 09b2a75f30cc3d444a31cd743e4d993a848d330b Mon Sep 17 00:00:00 2001 From: jez Date: Fri, 18 Mar 2011 19:26:36 -0400 Subject: [PATCH] cd to git directory in file log view. This ensures that the diff view works even if vim was not launched from the git directory. --- plugin/extradite.vim | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/plugin/extradite.vim b/plugin/extradite.vim index 8e3ce86..0277d2e 100644 --- a/plugin/extradite.vim +++ b/plugin/extradite.vim @@ -50,6 +50,13 @@ function! s:Extradite(bang) abort " doesn't seem to work nnoremap t :let line=line('.') :exe ExtraditeDiffToggle() :exe line autocmd CursorMoved exe 'setlocal statusline='.escape(b:extradata_list[line(".")-1]['date'], ' ') + " cd to git repo so system() calls to git work + let b:cd = exists('*haslocaldir') && haslocaldir() ? 'lcd ' : 'cd ' + let b:stashed_dir = getcwd() + let b:git_dir = fugitive#buffer().repo().tree() + execute b:cd.' '.b:git_dir + autocmd BufEnter exe b:cd.' '.b:git_dir + autocmd BufLeave exe b:cd.' '.getbufvar('','stashed_dir') call s:ExtraditeDiffToggle() let g:extradite_bufnr = bufnr('') return ''