mirror of
https://github.com/airblade/vim-gitgutter.git
synced 2025-11-08 11:33:48 -05:00
Only diff against parent commit in Fugitive revision buffers
Fixes #695.
This commit is contained in:
@@ -33,8 +33,6 @@ function! gitgutter#process_buffer(bufnr, force) abort
|
||||
return
|
||||
endif
|
||||
|
||||
call gitgutter#utility#set_diff_base_if_fugitive(a:bufnr)
|
||||
|
||||
if a:force || s:has_fresh_changes(a:bufnr)
|
||||
|
||||
let diff = 'NOT SET'
|
||||
|
||||
@@ -120,7 +120,7 @@ function! gitgutter#diff#run_diff(bufnr, from, preserve_full_diff) abort
|
||||
endif
|
||||
|
||||
" Write file from index to temporary file.
|
||||
let index_name = g:gitgutter_diff_base.':'.gitgutter#utility#repo_path(a:bufnr, 1)
|
||||
let index_name = gitgutter#utility#get_diff_base(a:bufnr).':'.gitgutter#utility#repo_path(a:bufnr, 1)
|
||||
let cmd .= g:gitgutter_git_executable.' '.g:gitgutter_git_args.' --no-pager show '.index_name.' > '.from_file.' && '
|
||||
|
||||
elseif a:from ==# 'working_tree'
|
||||
|
||||
@@ -184,12 +184,13 @@ function! s:restore_shell() abort
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! gitgutter#utility#set_diff_base_if_fugitive(bufnr)
|
||||
function! gitgutter#utility#get_diff_base(bufnr)
|
||||
let p = resolve(expand('#'.a:bufnr.':p'))
|
||||
let ml = matchlist(p, '\v^fugitive:/.*/(\x{40,})/')
|
||||
if !empty(ml) && !empty(ml[1])
|
||||
let g:gitgutter_diff_base = ml[1].'^'
|
||||
return ml[1].'^'
|
||||
endif
|
||||
return g:gitgutter_diff_base
|
||||
endfunction
|
||||
|
||||
function! s:abs_path(bufnr, shellesc)
|
||||
|
||||
Reference in New Issue
Block a user