|
|
@@ -28,6 +28,9 @@
|
|
|
" " Using a non-master branch
|
|
|
" Plug 'rdnetto/YCM-Generator', { 'branch': 'stable' }
|
|
|
"
|
|
|
+" " Using a tagged release; wildcard allowed (requires git 1.9.2 or above)
|
|
|
+" Plug 'fatih/vim-go', { 'tag': '*' }
|
|
|
+"
|
|
|
" " Plugin options
|
|
|
" Plug 'nsf/gocode', { 'tag': 'v.20150303', 'rtp': 'vim' }
|
|
|
"
|
|
|
@@ -966,8 +969,17 @@ function! s:update_finish()
|
|
|
call s:log4(name, 'Checking out '.spec.commit)
|
|
|
let out = s:checkout(spec)
|
|
|
elseif has_key(spec, 'tag')
|
|
|
- call s:log4(name, 'Checking out '.spec.tag)
|
|
|
- let out = s:system('git checkout -q '.s:esc(spec.tag).' 2>&1', spec.dir)
|
|
|
+ let tag = spec.tag
|
|
|
+ if tag =~ '\*'
|
|
|
+ let tags = s:lines(s:system('git tag --list '.string(tag).' --sort -version:refname 2>&1', spec.dir))
|
|
|
+ if !v:shell_error && !empty(tags)
|
|
|
+ let tag = tags[0]
|
|
|
+ call s:log4(name, printf('Latest tag for %s -> %s', spec.tag, tag))
|
|
|
+ call append(3, '')
|
|
|
+ endif
|
|
|
+ endif
|
|
|
+ call s:log4(name, 'Checking out '.tag)
|
|
|
+ let out = s:system('git checkout -q '.s:esc(tag).' 2>&1', spec.dir)
|
|
|
else
|
|
|
let branch = s:esc(get(spec, 'branch', 'master'))
|
|
|
call s:log4(name, 'Merging origin/'.branch)
|
|
|
@@ -2227,4 +2239,3 @@ endif
|
|
|
|
|
|
let &cpo = s:cpo_save
|
|
|
unlet s:cpo_save
|
|
|
-
|