|
@@ -955,7 +955,7 @@ function! s:update_finish()
|
|
|
endif
|
|
endif
|
|
|
if s:switch_in()
|
|
if s:switch_in()
|
|
|
call append(3, '- Updating ...') | 4
|
|
call append(3, '- Updating ...') | 4
|
|
|
- for [name, spec] in items(filter(copy(s:update.all), 'index(s:update.errors, v:key) < 0 && (s:update.pull || has_key(s:update.new, v:key))'))
|
|
|
|
|
|
|
+ for [name, spec] in items(filter(copy(s:update.all), 'index(s:update.errors, v:key) < 0 && (s:update.force || s:update.pull || has_key(s:update.new, v:key))'))
|
|
|
let pos = s:logpos(name)
|
|
let pos = s:logpos(name)
|
|
|
if !pos
|
|
if !pos
|
|
|
continue
|
|
continue
|
|
@@ -973,7 +973,7 @@ function! s:update_finish()
|
|
|
\. (has_key(s:update.new, name) ? '' : ('&& git merge --ff-only origin/'.branch.' 2>&1')), spec.dir)
|
|
\. (has_key(s:update.new, name) ? '' : ('&& git merge --ff-only origin/'.branch.' 2>&1')), spec.dir)
|
|
|
endif
|
|
endif
|
|
|
if !v:shell_error && filereadable(spec.dir.'/.gitmodules') &&
|
|
if !v:shell_error && filereadable(spec.dir.'/.gitmodules') &&
|
|
|
- \ (has_key(s:update.new, name) || s:is_updated(spec.dir))
|
|
|
|
|
|
|
+ \ (s:update.force || has_key(s:update.new, name) || s:is_updated(spec.dir))
|
|
|
call s:log4(name, 'Updating submodules. This may take a while.')
|
|
call s:log4(name, 'Updating submodules. This may take a while.')
|
|
|
let out .= s:bang('git submodule update --init --recursive 2>&1', spec.dir)
|
|
let out .= s:bang('git submodule update --init --recursive 2>&1', spec.dir)
|
|
|
endif
|
|
endif
|