Fix #350 - Tagged plugin should be unshallowed on update
Ruby installer failed to do so due to invalid escaping
This commit is contained in:
parent
ba97f4458e
commit
87b426e381
6
plug.vim
6
plug.vim
|
@ -1631,8 +1631,8 @@ function! s:update_ruby()
|
||||||
exists = File.directory? dir
|
exists = File.directory? dir
|
||||||
ok, result =
|
ok, result =
|
||||||
if exists
|
if exists
|
||||||
dir = iswin ? dir : esc(dir)
|
chdir = "#{cd} #{iswin ? dir : esc(dir)}"
|
||||||
ret, data = bt.call "#{cd} #{dir} && git rev-parse --abbrev-ref HEAD 2>&1 && git config remote.origin.url", nil, nil, nil
|
ret, data = bt.call "#{chdir} && git rev-parse --abbrev-ref HEAD 2>&1 && git config remote.origin.url", nil, nil, nil
|
||||||
current_uri = data.lines.to_a.last
|
current_uri = data.lines.to_a.last
|
||||||
if !ret
|
if !ret
|
||||||
if data =~ /^Interrupted|^Timeout/
|
if data =~ /^Interrupted|^Timeout/
|
||||||
|
@ -1648,7 +1648,7 @@ function! s:update_ruby()
|
||||||
if pull
|
if pull
|
||||||
log.call name, 'Updating ...', :update
|
log.call name, 'Updating ...', :update
|
||||||
fetch_opt = (tag && File.exist?(File.join(dir, '.git/shallow'))) ? '--depth 99999999' : ''
|
fetch_opt = (tag && File.exist?(File.join(dir, '.git/shallow'))) ? '--depth 99999999' : ''
|
||||||
bt.call "#{cd} #{dir} && git fetch #{fetch_opt} #{progress} 2>&1 && git checkout -q #{checkout} 2>&1 && git merge --ff-only #{merge} 2>&1 && #{subm}", name, :update, nil
|
bt.call "#{chdir} && git fetch #{fetch_opt} #{progress} 2>&1 && git checkout -q #{checkout} 2>&1 && git merge --ff-only #{merge} 2>&1 && #{subm}", name, :update, nil
|
||||||
else
|
else
|
||||||
[true, skip]
|
[true, skip]
|
||||||
end
|
end
|
||||||
|
|
|
@ -263,3 +263,26 @@ Execute (#236: Plugin removed from &rtp when .vimrc is reloaded):
|
||||||
Plug 'junegunn/vim-easy-align', { 'on': 'EasyAlign' }
|
Plug 'junegunn/vim-easy-align', { 'on': 'EasyAlign' }
|
||||||
call plug#end()
|
call plug#end()
|
||||||
Assert &rtp =~ '/vim-easy-align', 'Plugin should still be in &rtp'
|
Assert &rtp =~ '/vim-easy-align', 'Plugin should still be in &rtp'
|
||||||
|
|
||||||
|
**********************************************************************
|
||||||
|
Execute (#350: Ruby installer failed to unshallow tagged plugin on update):
|
||||||
|
call plug#begin('/tmp/plugged')
|
||||||
|
call plug#end()
|
||||||
|
PlugClean!
|
||||||
|
|
||||||
|
" Shallow clone. We should have at least 2 plugins to enable parallel installer.
|
||||||
|
call plug#begin('/tmp/plugged')
|
||||||
|
Plug 'junegunn/vim-easy-align'
|
||||||
|
Plug 'junegunn/seoul256.vim'
|
||||||
|
call plug#end()
|
||||||
|
PlugUpdate
|
||||||
|
Assert filereadable(g:plugs['vim-easy-align'].dir.'/.git/shallow')
|
||||||
|
|
||||||
|
" Now unshallowed
|
||||||
|
call plug#begin('/tmp/plugged')
|
||||||
|
Plug 'junegunn/vim-easy-align', { 'tag': '2.9.0' }
|
||||||
|
Plug 'junegunn/seoul256.vim'
|
||||||
|
call plug#end()
|
||||||
|
PlugUpdate
|
||||||
|
Assert !filereadable(g:plugs['vim-easy-align'].dir.'/.git/shallow')
|
||||||
|
q
|
||||||
|
|
Loading…
Reference in New Issue
Block a user