diff --git a/autoload/fugitive.vim b/autoload/fugitive.vim index a24b50c..7164de4 100644 --- a/autoload/fugitive.vim +++ b/autoload/fugitive.vim @@ -5058,9 +5058,9 @@ endfunction " Section: :Gwrite, :Gwq function! fugitive#WriteCommand(line1, line2, range, bang, mods, arg, args) abort - if s:cpath(expand('%:p'), fugitive#Find('.git/COMMIT_EDITMSG')) + if s:cpath(expand('%:p'), fugitive#Find('.git/COMMIT_EDITMSG')) && empty(a:arg) return (empty($GIT_INDEX_FILE) ? 'write|bdelete' : 'wq') . (a:bang ? '!' : '') - elseif get(b:, 'fugitive_type', '') ==# 'index' + elseif get(b:, 'fugitive_type', '') ==# 'index' && empty(a:arg) return 'Git commit' elseif &buftype ==# 'nowrite' && getline(4) =~# '^[+-]\{3\} ' return 'echoerr ' . string('fugitive: :Gwrite from :Git diff has been removed in favor of :Git add --edit')