Skip to content

Commit

Permalink
Merge pull request #684 from cameris/master
Browse files Browse the repository at this point in the history
Added variables for git, curl & wget executables
  • Loading branch information
ryanoasis committed Apr 22, 2016
2 parents a6575b6 + ff02eb1 commit 1d1c2b0
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 14 deletions.
10 changes: 10 additions & 0 deletions autoload/vundle.vim
Original file line number Diff line number Diff line change
Expand Up @@ -87,4 +87,14 @@ let vundle#lazy_load = 0
let vundle#log = []
let vundle#updated_bundles = []

if !exists('g:vundle#git_executable')
let vundle#git_executable = 'git'
endif
if !exists('g:vundle#curl_executable')
let vundle#curl_executable = 'curl'
endif
if !exists('g:vundle#wget_executable')
let vundle#wget_executable = 'wget'
endif

" vim: set expandtab sts=2 ts=2 sw=2 tw=78 norl:
20 changes: 11 additions & 9 deletions autoload/vundle/installer.vim
Original file line number Diff line number Diff line change
Expand Up @@ -343,7 +343,8 @@ endf
" return -- the URL for the origin remote (string)
" ---------------------------------------------------------------------------
func! s:get_current_origin_url(bundle) abort
let cmd = 'cd '.vundle#installer#shellesc(a:bundle.path()).' && git config --get remote.origin.url'
let cmd = 'cd '.vundle#installer#shellesc(a:bundle.path()).' && '.
g:vundle#git_executable.' config --get remote.origin.url'
let cmd = vundle#installer#shellesc_cd(cmd)
let out = s:strip(s:system(cmd))
return out
Expand All @@ -357,7 +358,8 @@ endf
" return -- A 15 character log sha for the current HEAD
" ---------------------------------------------------------------------------
func! s:get_current_sha(bundle)
let cmd = 'cd '.vundle#installer#shellesc(a:bundle.path()).' && git rev-parse HEAD'
let cmd = 'cd '.vundle#installer#shellesc(a:bundle.path()).' && '.
g:vundle#git_executable.' rev-parse HEAD'
let cmd = vundle#installer#shellesc_cd(cmd)
let out = s:system(cmd)[0:15]
return out
Expand Down Expand Up @@ -389,10 +391,10 @@ func! s:make_sync_command(bang, bundle) abort
" Directory names match but the origin remotes are not the same
let cmd_parts = [
\ 'cd '.vundle#installer#shellesc(a:bundle.path()) ,
\ 'git remote set-url origin ' . vundle#installer#shellesc(a:bundle.uri),
\ 'git fetch',
\ 'git reset --hard origin/HEAD',
\ 'git submodule update --init --recursive',
\ g:vundle#git_executable.' remote set-url origin ' . vundle#installer#shellesc(a:bundle.uri),
\ g:vundle#git_executable.' fetch',
\ g:vundle#git_executable.' reset --hard origin/HEAD',
\ g:vundle#git_executable.' submodule update --init --recursive',
\ ]
let cmd = join(cmd_parts, ' && ')
let cmd = vundle#installer#shellesc_cd(cmd)
Expand All @@ -407,15 +409,15 @@ func! s:make_sync_command(bang, bundle) abort

let cmd_parts = [
\ 'cd '.vundle#installer#shellesc(a:bundle.path()),
\ 'git pull',
\ 'git submodule update --init --recursive',
\ g:vundle#git_executable.' pull',
\ g:vundle#git_executable.' submodule update --init --recursive',
\ ]
let cmd = join(cmd_parts, ' && ')
let cmd = vundle#installer#shellesc_cd(cmd)

let initial_sha = s:get_current_sha(a:bundle)
else
let cmd = 'git clone --recursive '.vundle#installer#shellesc(a:bundle.uri).' '.vundle#installer#shellesc(a:bundle.path())
let cmd = g:vundle#git_executable.' clone --recursive '.vundle#installer#shellesc(a:bundle.uri).' '.vundle#installer#shellesc(a:bundle.path())
let initial_sha = ''
endif
return [cmd, initial_sha]
Expand Down
10 changes: 5 additions & 5 deletions autoload/vundle/scripts.vim
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ func! s:create_changelog() abort
let bundle = bundle_data[2]

let cmd = 'cd '.vundle#installer#shellesc(bundle.path()).
\ ' && git log --pretty=format:"%s %an, %ar" --graph '.
\ ' && '.g:vundle#git_executable.' log --pretty=format:"%s %an, %ar" --graph '.
\ initial_sha.'..'.updated_sha

let cmd = vundle#installer#shellesc_cd(cmd)
Expand Down Expand Up @@ -236,11 +236,11 @@ func! s:fetch_scripts(to)
endif

let l:vim_scripts_json = 'http://vim-scripts.org/api/scripts.json'
if executable("curl")
let cmd = 'curl --fail -s -o '.vundle#installer#shellesc(a:to).' '.l:vim_scripts_json
elseif executable("wget")
if executable(g:vundle#curl_executable)
let cmd = g:vundle#curl_executable.' --fail -s -o '.vundle#installer#shellesc(a:to).' '.l:vim_scripts_json
elseif executable(g:vundle#wget_executable)
let temp = vundle#installer#shellesc(tempname())
let cmd = 'wget -q -O '.temp.' '.l:vim_scripts_json. ' && mv -f '.temp.' '.vundle#installer#shellesc(a:to)
let cmd = g:vundle#wget_executable.' -q -O '.temp.' '.l:vim_scripts_json. ' && mv -f '.temp.' '.vundle#installer#shellesc(a:to)
if (has('win32') || has('win64'))
let cmd = substitute(cmd, 'mv -f ', 'move /Y ', '') " change force flag
let cmd = vundle#installer#shellesc(cmd)
Expand Down

0 comments on commit 1d1c2b0

Please sign in to comment.