Merge pull request #218 from junegunn/shallow-clone
Shallow clone by default #122 #217
This commit is contained in:
		
						commit
						2218b8fe20
					
				|  | @ -94,6 +94,7 @@ Reload .vimrc and `:PlugInstall` to install plugins. | ||||||
| | `g:plug_threads`    | 16                                | Default number of threads to use                       | | | `g:plug_threads`    | 16                                | Default number of threads to use                       | | ||||||
| | `g:plug_timeout`    | 60                                | Time limit of each task in seconds (*Ruby & Python*)   | | | `g:plug_timeout`    | 60                                | Time limit of each task in seconds (*Ruby & Python*)   | | ||||||
| | `g:plug_retries`    | 2                                 | Number of retries in case of timeout (*Ruby & Python*) | | | `g:plug_retries`    | 2                                 | Number of retries in case of timeout (*Ruby & Python*) | | ||||||
|  | | `g:plug_shallow`    | 1                                 | Use shallow clone                                      | | ||||||
| | `g:plug_window`     | `vertical topleft new`            | Command to open plug window                            | | | `g:plug_window`     | `vertical topleft new`            | Command to open plug window                            | | ||||||
| | `g:plug_url_format` | `https://git::@github.com/%s.git` | `printf` format to build repo URL                      | | | `g:plug_url_format` | `https://git::@github.com/%s.git` | `printf` format to build repo URL                      | | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										14
									
								
								plug.vim
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								plug.vim
									
									
									
									
									
								
							|  | @ -763,6 +763,9 @@ function! s:update_impl(pull, force, args) abort | ||||||
|   call append(0, ['', '']) |   call append(0, ['', '']) | ||||||
|   normal! 2G |   normal! 2G | ||||||
| 
 | 
 | ||||||
|  |   let s:clone_opt = get(g:, 'plug_shallow', 1) ? | ||||||
|  |         \ '--depth 1' . (s:git_version_requirement(1, 7, 10) ? ' --no-single-branch' : '') : '' | ||||||
|  | 
 | ||||||
|   " Python version requirement (>= 2.7) |   " Python version requirement (>= 2.7) | ||||||
|   if s:py2 && !s:ruby && !s:nvim && s:update.threads > 1 |   if s:py2 && !s:ruby && !s:nvim && s:update.threads > 1 | ||||||
|     redir => pyv |     redir => pyv | ||||||
|  | @ -979,7 +982,8 @@ while 1 " Without TCO, Vim stack is bound to explode | ||||||
|     endif |     endif | ||||||
|   else |   else | ||||||
|     call s:spawn(name, |     call s:spawn(name, | ||||||
|           \ printf('git clone %s --recursive %s -b %s %s 2>&1', |           \ printf('git clone %s %s --recursive %s -b %s %s 2>&1', | ||||||
|  |           \ s:clone_opt, | ||||||
|           \ prog, |           \ prog, | ||||||
|           \ s:shellesc(spec.uri), |           \ s:shellesc(spec.uri), | ||||||
|           \ checkout, |           \ checkout, | ||||||
|  | @ -1016,6 +1020,7 @@ import vim | ||||||
| G_PULL = vim.eval('s:update.pull') == '1' | G_PULL = vim.eval('s:update.pull') == '1' | ||||||
| G_RETRIES = int(vim.eval('get(g:, "plug_retries", 2)')) + 1 | G_RETRIES = int(vim.eval('get(g:, "plug_retries", 2)')) + 1 | ||||||
| G_TIMEOUT = int(vim.eval('get(g:, "plug_timeout", 60)')) | G_TIMEOUT = int(vim.eval('get(g:, "plug_timeout", 60)')) | ||||||
|  | G_CLONE_OPT = vim.eval('s:clone_opt') | ||||||
| G_PROGRESS = vim.eval('s:progress_opt(1)') | G_PROGRESS = vim.eval('s:progress_opt(1)') | ||||||
| G_LOG_PROB = 1.0 / int(vim.eval('s:update.threads')) | G_LOG_PROB = 1.0 / int(vim.eval('s:update.threads')) | ||||||
| G_STOP = thr.Event() | G_STOP = thr.Event() | ||||||
|  | @ -1237,8 +1242,8 @@ class Plugin(object): | ||||||
| 
 | 
 | ||||||
|     self.write(Action.INSTALL, self.name, ['Installing ...']) |     self.write(Action.INSTALL, self.name, ['Installing ...']) | ||||||
|     callback = functools.partial(self.buf.write, Action.INSTALL, self.name) |     callback = functools.partial(self.buf.write, Action.INSTALL, self.name) | ||||||
|     cmd = 'git clone {0} --recursive {1} -b {2} {3} 2>&1'.format( |     cmd = 'git clone {0} {1} --recursive {2} -b {3} {4} 2>&1'.format( | ||||||
|         G_PROGRESS, self.args['uri'], self.checkout, esc(target)) |         G_CLONE_OPT, G_PROGRESS, self.args['uri'], self.checkout, esc(target)) | ||||||
|     com = Command(cmd, None, G_TIMEOUT, G_RETRIES, callback, clean(target)) |     com = Command(cmd, None, G_TIMEOUT, G_RETRIES, callback, clean(target)) | ||||||
|     result = com.attempt_cmd() |     result = com.attempt_cmd() | ||||||
|     self.write(Action.DONE, self.name, result[-1:]) |     self.write(Action.DONE, self.name, result[-1:]) | ||||||
|  | @ -1533,6 +1538,7 @@ function! s:update_ruby() | ||||||
|     end |     end | ||||||
|   } if VIM::evaluate('s:mac_gui') == 1 |   } if VIM::evaluate('s:mac_gui') == 1 | ||||||
| 
 | 
 | ||||||
|  |   clone_opt = VIM::evaluate('s:clone_opt') | ||||||
|   progress = VIM::evaluate('s:progress_opt(1)') |   progress = VIM::evaluate('s:progress_opt(1)') | ||||||
|   nthr.times do |   nthr.times do | ||||||
|     mtx.synchronize do |     mtx.synchronize do | ||||||
|  | @ -1570,7 +1576,7 @@ function! s:update_ruby() | ||||||
|             else |             else | ||||||
|               d = esc dir.sub(%r{[\\/]+$}, '') |               d = esc dir.sub(%r{[\\/]+$}, '') | ||||||
|               log.call name, 'Installing ...', :install |               log.call name, 'Installing ...', :install | ||||||
|               bt.call "git clone #{progress} --recursive #{uri} -b #{checkout} #{d} 2>&1", name, :install, proc { |               bt.call "git clone #{clone_opt} #{progress} --recursive #{uri} -b #{checkout} #{d} 2>&1", name, :install, proc { | ||||||
|                 FileUtils.rm_rf dir |                 FileUtils.rm_rf dir | ||||||
|               } |               } | ||||||
|             end |             end | ||||||
|  |  | ||||||
|  | @ -270,9 +270,11 @@ Execute (PlugDiff - 'No updates.'): | ||||||
|   AssertEqual 'No updates.', getline(1) |   AssertEqual 'No updates.', getline(1) | ||||||
|   q |   q | ||||||
| 
 | 
 | ||||||
| Execute (Rollback recent updates, PlugUpdate, then PlugDiff): | Execute (New commits on remote, PlugUpdate, then PlugDiff): | ||||||
|   for repo in ['seoul256.vim', 'vim-emoji'] |   for repo in ['seoul256.vim', 'vim-emoji'] | ||||||
|     call system(printf('cd %s/%s && git reset HEAD^^ --hard', g:plug_home, repo)) |     for _ in range(2) | ||||||
|  |       call system(printf('cd /tmp/junegunn/%s && git commit --allow-empty -m "update"', repo)) | ||||||
|  |     endfor | ||||||
|   endfor |   endfor | ||||||
|   PlugUpdate |   PlugUpdate | ||||||
| 
 | 
 | ||||||
|  | @ -639,8 +641,8 @@ Execute (On update): | ||||||
|   Plug 'junegunn/vim-pseudocl', { 'do': 'touch updated' } |   Plug 'junegunn/vim-pseudocl', { 'do': 'touch updated' } | ||||||
|   call plug#end() |   call plug#end() | ||||||
| 
 | 
 | ||||||
|   " Reset for updates |   " New commits on remote | ||||||
|   call system('cd '.g:plugs['vim-pseudocl'].dir.' && git reset --hard HEAD^') |   call system('cd /tmp/junegunn/vim-pseudocl && git commit --allow-empty -m "update"') | ||||||
| 
 | 
 | ||||||
|   silent PlugUpdate |   silent PlugUpdate | ||||||
|   Log getline(1, '$') |   Log getline(1, '$') | ||||||
|  | @ -703,6 +705,7 @@ Execute (Using Funcref): | ||||||
|   Plug 'junegunn/vim-pseudocl',   { 'do': function('PlugUpdated') } |   Plug 'junegunn/vim-pseudocl',   { 'do': function('PlugUpdated') } | ||||||
|   call plug#end() |   call plug#end() | ||||||
| 
 | 
 | ||||||
|  |   call system('cd /tmp/junegunn/vim-easy-align && git commit --allow-empty -m "update"') | ||||||
|   call system('cd '.g:plugs['vim-easy-align'].dir.' && git reset --hard HEAD^') |   call system('cd '.g:plugs['vim-easy-align'].dir.' && git reset --hard HEAD^') | ||||||
|   call system('rm -rf '.g:plugs['vim-pseudocl'].dir) |   call system('rm -rf '.g:plugs['vim-pseudocl'].dir) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user