Merge branch 'gc/submodule-update-part2'
"git submodule update" without pathspec should silently skip an uninitialized submodule, but it started to become noisy by mistake. * gc/submodule-update-part2: submodule--helper: fix initialization of warn_if_uninitializedmaint
commit
740deeadd3
|
@ -2026,7 +2026,6 @@ struct update_data {
|
|||
.references = STRING_LIST_INIT_DUP, \
|
||||
.single_branch = -1, \
|
||||
.max_jobs = 1, \
|
||||
.warn_if_uninitialized = 1, \
|
||||
}
|
||||
|
||||
static void next_submodule_warn_missing(struct submodule_update_clone *suc,
|
||||
|
|
|
@ -670,6 +670,39 @@ test_expect_success 'submodule update --init skips submodule with update=none' '
|
|||
)
|
||||
'
|
||||
|
||||
test_expect_success 'submodule update with pathspec warns against uninitialized ones' '
|
||||
test_when_finished "rm -fr selective" &&
|
||||
git clone super selective &&
|
||||
(
|
||||
cd selective &&
|
||||
git submodule init submodule &&
|
||||
|
||||
git submodule update submodule 2>err &&
|
||||
! grep "Submodule path .* not initialized" err &&
|
||||
|
||||
git submodule update rebasing 2>err &&
|
||||
grep "Submodule path .rebasing. not initialized" err &&
|
||||
|
||||
test_path_exists submodule/.git &&
|
||||
test_path_is_missing rebasing/.git
|
||||
)
|
||||
|
||||
'
|
||||
|
||||
test_expect_success 'submodule update without pathspec updates only initialized ones' '
|
||||
test_when_finished "rm -fr selective" &&
|
||||
git clone super selective &&
|
||||
(
|
||||
cd selective &&
|
||||
git submodule init submodule &&
|
||||
git submodule update 2>err &&
|
||||
test_path_exists submodule/.git &&
|
||||
test_path_is_missing rebasing/.git &&
|
||||
! grep "Submodule path .* not initialized" err
|
||||
)
|
||||
|
||||
'
|
||||
|
||||
test_expect_success 'submodule update continues after checkout error' '
|
||||
(cd super &&
|
||||
git reset --hard HEAD &&
|
||||
|
|
Loading…
Reference in New Issue