mirror of
https://github.com/tpope/vim-fugitive.git
synced 2025-11-09 12:03:47 -05:00
Remove dispatch.vim backed fetch and push
This commit is contained in:
@@ -92,17 +92,18 @@ Install using your favorite package manager, or use Vim's built-in package suppo
|
|||||||
|
|
||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
> Why can't I enter my password when I `:Git push`?
|
> What happened to the dispatch.vim backed asynchronous `:Gpush` and
|
||||||
|
> `:Gfetch`?
|
||||||
|
|
||||||
It is highly recommended to use SSH keys or [credentials caching][] to avoid
|
This behavior was divisive, confusing, and complicated inputting passwords, so
|
||||||
entering your password on every upstream interaction. If this isn't an
|
it was removed. Use `:Dispatch git push` for effectively the same behavior,
|
||||||
option, the official solution is to use the `core.askPass` Git option to
|
or provide your own asynchronous `:Gpush` and `:Gfetch` by adding the
|
||||||
request the password via a GUI. Fugitive will configure this for you
|
following to your vimrc:
|
||||||
automatically if you have `ssh-askpass` or `git-gui` installed; otherwise it's
|
|
||||||
your responsibility to set this up.
|
|
||||||
|
|
||||||
If you absolutely must type in your password by hand, sidestep Fugitive and
|
command! -bang -bar -nargs=* Gpush execute 'Dispatch<bang> -dir=' .
|
||||||
use `:terminal git push`.
|
\ fnameescape(FugitiveGitDir()) 'git push' <q-args>
|
||||||
|
command! -bang -bar -nargs=* Gfetch execute 'Dispatch<bang> -dir=' .
|
||||||
|
\ fnameescape(FugitiveGitDir()) 'git fetch' <q-args>
|
||||||
|
|
||||||
[credentials caching]: https://help.github.com/en/articles/caching-your-github-password-in-git
|
[credentials caching]: https://help.github.com/en/articles/caching-your-github-password-in-git
|
||||||
|
|
||||||
|
|||||||
@@ -664,14 +664,6 @@ function! s:QuickfixStream(nr, event, title, cmd, first, callback, ...) abort
|
|||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
let s:common_efm = ''
|
|
||||||
\ . '%+Egit:%.%#,'
|
|
||||||
\ . '%+Eusage:%.%#,'
|
|
||||||
\ . '%+Eerror:%.%#,'
|
|
||||||
\ . '%+Efatal:%.%#,'
|
|
||||||
\ . '%-G%.%#%\e[K%.%#,'
|
|
||||||
\ . '%-G%.%#%\r%.%\+'
|
|
||||||
|
|
||||||
function! fugitive#Cwindow() abort
|
function! fugitive#Cwindow() abort
|
||||||
if &buftype == 'quickfix'
|
if &buftype == 'quickfix'
|
||||||
cwindow
|
cwindow
|
||||||
@@ -1967,7 +1959,7 @@ function! fugitive#BufReadStatus() abort
|
|||||||
if &bufhidden ==# ''
|
if &bufhidden ==# ''
|
||||||
setlocal bufhidden=delete
|
setlocal bufhidden=delete
|
||||||
endif
|
endif
|
||||||
let b:dispatch = ':Git fetch --all'
|
let b:dispatch = '-dir=' . fnameescape(len(s:Tree()) ? s:Tree() : s:Dir()) . ' ' . g:fugitive_git_executable . ' fetch --all'
|
||||||
call fugitive#MapJumps()
|
call fugitive#MapJumps()
|
||||||
call s:Map('n', '-', ":<C-U>execute <SID>Do('Toggle',0)<CR>", '<silent>')
|
call s:Map('n', '-', ":<C-U>execute <SID>Do('Toggle',0)<CR>", '<silent>')
|
||||||
call s:Map('x', '-', ":<C-U>execute <SID>Do('Toggle',1)<CR>", '<silent>')
|
call s:Map('x', '-', ":<C-U>execute <SID>Do('Toggle',1)<CR>", '<silent>')
|
||||||
@@ -4780,45 +4772,6 @@ function! fugitive#FetchComplete(A, L, P, ...) abort
|
|||||||
return s:CompleteSub('fetch', a:A, a:L, a:P, function('s:CompleteRemote'), a:000)
|
return s:CompleteSub('fetch', a:A, a:L, a:P, function('s:CompleteRemote'), a:000)
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:Dispatch(bang, options) abort
|
|
||||||
let dir = a:options.dir
|
|
||||||
exe s:DirCheck(dir)
|
|
||||||
let [mp, efm, cc] = [&l:mp, &l:efm, get(b:, 'current_compiler', '')]
|
|
||||||
try
|
|
||||||
let b:current_compiler = 'git'
|
|
||||||
let &l:errorformat = s:common_efm .
|
|
||||||
\ ',%\&git_dir=' . escape(substitute(dir, '%', '%%', 'g'), '\,')
|
|
||||||
let &l:makeprg = s:UserCommand({'git': a:options.git, 'dir': dir}, s:AskPassArgs(dir) + a:options.flags + [a:options.command] + a:options.args)
|
|
||||||
if exists(':Make') == 2
|
|
||||||
Make
|
|
||||||
return ''
|
|
||||||
else
|
|
||||||
if !has('patch-8.1.0334') && has('terminal') && &autowrite
|
|
||||||
let autowrite_was_set = 1
|
|
||||||
set noautowrite
|
|
||||||
silent! wall
|
|
||||||
endif
|
|
||||||
silent noautocmd make!
|
|
||||||
redraw!
|
|
||||||
return 'call fugitive#Cwindow()|silent ' . s:DoAutocmd('ShellCmdPost')
|
|
||||||
endif
|
|
||||||
finally
|
|
||||||
let [&l:mp, &l:efm, b:current_compiler] = [mp, efm, cc]
|
|
||||||
if empty(cc) | unlet! b:current_compiler | endif
|
|
||||||
if exists('autowrite_was_set')
|
|
||||||
set autowrite
|
|
||||||
endif
|
|
||||||
endtry
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
function! s:PushSubcommand(line1, line2, range, bang, mods, options) abort
|
|
||||||
return s:Dispatch(a:bang ? '!' : '', a:options)
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
function! s:FetchSubcommand(line1, line2, range, bang, mods, options) abort
|
|
||||||
return s:Dispatch(a:bang ? '!' : '', a:options)
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
" Section: :Gdiff
|
" Section: :Gdiff
|
||||||
|
|
||||||
augroup fugitive_diff
|
augroup fugitive_diff
|
||||||
|
|||||||
Reference in New Issue
Block a user