Avoid unnecessary diff.

This commit is contained in:
Andy Stewart
2016-02-08 14:18:52 +00:00
parent e884a0e26d
commit 0416f209d8
2 changed files with 4 additions and 5 deletions

View File

@@ -154,7 +154,7 @@ function! gitgutter#stage_hunk()
if gitgutter#utility#is_active() if gitgutter#utility#is_active()
" Ensure the working copy of the file is up to date. " Ensure the working copy of the file is up to date.
" It doesn't make sense to stage a hunk otherwise. " It doesn't make sense to stage a hunk otherwise.
silent write noautocmd silent write
if empty(gitgutter#hunk#current_hunk()) if empty(gitgutter#hunk#current_hunk())
call gitgutter#utility#warn('cursor is not in a hunk') call gitgutter#utility#warn('cursor is not in a hunk')
@@ -174,7 +174,7 @@ function! gitgutter#revert_hunk()
if gitgutter#utility#is_active() if gitgutter#utility#is_active()
" Ensure the working copy of the file is up to date. " Ensure the working copy of the file is up to date.
" It doesn't make sense to stage a hunk otherwise. " It doesn't make sense to stage a hunk otherwise.
silent write noautocmd silent write
if empty(gitgutter#hunk#current_hunk()) if empty(gitgutter#hunk#current_hunk())
call gitgutter#utility#warn('cursor is not in a hunk') call gitgutter#utility#warn('cursor is not in a hunk')
@@ -192,7 +192,7 @@ endfunction
function! gitgutter#preview_hunk() function! gitgutter#preview_hunk()
if gitgutter#utility#is_active() if gitgutter#utility#is_active()
silent write noautocmd silent write
if empty(gitgutter#hunk#current_hunk()) if empty(gitgutter#hunk#current_hunk())
call gitgutter#utility#warn('cursor is not in a hunk') call gitgutter#utility#warn('cursor is not in a hunk')

View File

@@ -276,8 +276,7 @@ endfunction
" "
" type - stage | revert | preview " type - stage | revert | preview
function! gitgutter#diff#generate_diff_for_hunk(type) function! gitgutter#diff#generate_diff_for_hunk(type)
" Although (we assume) diff is up to date, we don't store it anywhere so we " Run a fresh diff.
" have to regenerate it now...
let diff = gitgutter#diff#run_diff(0, 0) let diff = gitgutter#diff#run_diff(0, 0)
let diff_for_hunk = gitgutter#diff#discard_hunks(diff, a:type == 'stage' || a:type == 'revert') let diff_for_hunk = gitgutter#diff#discard_hunks(diff, a:type == 'stage' || a:type == 'revert')