Browse Source

Merge f59bbf59ff into d0925613b5

pull/720/merge
Guillaume Maudoux 10 years ago
parent
commit
efe4b32c76
2 changed files with 38 additions and 35 deletions
  1. +37
    -2
      autoload/vundle/installer.vim
  2. +1
    -33
      autoload/vundle/scripts.vim

+ 37
- 2
autoload/vundle/installer.vim View File

@ -75,6 +75,38 @@ func! s:process(bang, cmd)
endf
" ---------------------------------------------------------------------------
" Parse the output from git log after an update to create a change log for the
" user.
" ---------------------------------------------------------------------------
func! vundle#installer#create_changelog() abort
let changelog = ['Updated Plugins:']
for bundle_data in g:vundle#updated_bundles
let initial_sha = bundle_data[0]
let updated_sha = bundle_data[1]
let bundle = bundle_data[2]
let cmd = s:make_git_command(bundle, ['log', '--pretty=format:%s %an, %ar',
\ '--graph', initial_sha.'..'.updated_sha ])
let updates = system(cmd)
call add(changelog, '')
call add(changelog, 'Updated Plugin: '.bundle.name)
if bundle.uri =~ "https://github.com"
call add(changelog, 'Compare at: '.bundle.uri[0:-5].'/compare/'.initial_sha.'...'.updated_sha)
endif
for update in split(updates, '\n')
let update = substitute(update, '\s\+$', '', '')
call add(changelog, ' '.update)
endfor
endfor
return changelog
endf
" ---------------------------------------------------------------------------
" Call another function in the different Vundle windows.
"
@ -372,9 +404,12 @@ func! s:make_git_command(bundle, args) abort
let workdir = a:bundle.path()
let gitdir = workdir.'/.git/'
let git = [g:vundle#git_executable, '--git-dir='.gitdir, '--work-tree='.workdir]
let git_cmd = [g:vundle#git_executable, '--git-dir', gitdir]
if a:args[0] != 'clone'
let git_cmd = git_cmd + ['-C', workdir, '--work-tree', workdir]
endif
return join(map(git + a:args, 'vundle#installer#shellesc(v:val)'))
return join(map(git_cmd + a:args, 'vundle#installer#shellesc(v:val)'))
endf
" ---------------------------------------------------------------------------


+ 1
- 33
autoload/vundle/scripts.vim View File

@ -73,38 +73,6 @@ func! s:view_log()
endf
" ---------------------------------------------------------------------------
" Parse the output from git log after an update to create a change log for the
" user.
" ---------------------------------------------------------------------------
func! s:create_changelog() abort
let changelog = ['Updated Plugins:']
for bundle_data in g:vundle#updated_bundles
let initial_sha = bundle_data[0]
let updated_sha = bundle_data[1]
let bundle = bundle_data[2]
let cmd = s:make_git_command(bundle, ['log', '--pretty=format:"%s %an, %ar"',
\ '--graph', initial_sha.'..'.updated_sha ])
let updates = system(cmd)
call add(changelog, '')
call add(changelog, 'Updated Plugin: '.bundle.name)
if bundle.uri =~ "https://github.com"
call add(changelog, 'Compare at: '.bundle.uri[0:-5].'/compare/'.initial_sha.'...'.updated_sha)
endif
for update in split(updates, '\n')
let update = substitute(update, '\s\+$', '', '')
call add(changelog, ' '.update)
endfor
endfor
return changelog
endf
" ---------------------------------------------------------------------------
" View the change log after an update or installation.
" ---------------------------------------------------------------------------
@ -116,7 +84,7 @@ func! s:view_changelog()
if bufloaded(s:changelog_file)
execute 'silent bdelete' s:changelog_file
endif
call writefile(s:create_changelog(), s:changelog_file)
call writefile(vundle#installer#create_changelog(), s:changelog_file)
execute 'silent pedit' s:changelog_file
set bufhidden=wipe
setl buftype=nofile


Loading…
Cancel
Save