зеркало из https://github.com/microsoft/git.git
fetch: add test to make sure we stay backwards compatible
The current implementation of submodules supports on-demand fetch if there is no .gitmodules entry for a submodule. Let's add a test to document this behavior. Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
d35688db19
Коммит
01ce12252c
|
@ -478,7 +478,47 @@ test_expect_success "don't fetch submodule when newly recorded commits are alrea
|
|||
git fetch >../actual.out 2>../actual.err
|
||||
) &&
|
||||
! test -s actual.out &&
|
||||
test_i18ncmp expect.err actual.err
|
||||
test_i18ncmp expect.err actual.err &&
|
||||
(
|
||||
cd submodule &&
|
||||
git checkout -q master
|
||||
)
|
||||
'
|
||||
|
||||
test_expect_success "'fetch.recurseSubmodules=on-demand' works also without .gitmodule entry" '
|
||||
(
|
||||
cd downstream &&
|
||||
git fetch --recurse-submodules
|
||||
) &&
|
||||
add_upstream_commit &&
|
||||
head1=$(git rev-parse --short HEAD) &&
|
||||
git add submodule &&
|
||||
git rm .gitmodules &&
|
||||
git commit -m "new submodule without .gitmodules" &&
|
||||
printf "" >expect.out &&
|
||||
head2=$(git rev-parse --short HEAD) &&
|
||||
echo "From $pwd/." >expect.err.2 &&
|
||||
echo " $head1..$head2 master -> origin/master" >>expect.err.2 &&
|
||||
head -3 expect.err >>expect.err.2 &&
|
||||
(
|
||||
cd downstream &&
|
||||
rm .gitmodules &&
|
||||
git config fetch.recurseSubmodules on-demand &&
|
||||
# fake submodule configuration to avoid skipping submodule handling
|
||||
git config -f .gitmodules submodule.fake.path fake &&
|
||||
git config -f .gitmodules submodule.fake.url fakeurl &&
|
||||
git add .gitmodules &&
|
||||
git config --unset submodule.submodule.url &&
|
||||
git fetch >../actual.out 2>../actual.err &&
|
||||
# cleanup
|
||||
git config --unset fetch.recurseSubmodules &&
|
||||
git reset --hard
|
||||
) &&
|
||||
test_i18ncmp expect.out actual.out &&
|
||||
test_i18ncmp expect.err.2 actual.err &&
|
||||
git checkout HEAD^ -- .gitmodules &&
|
||||
git add .gitmodules &&
|
||||
git commit -m "new submodule restored .gitmodules"
|
||||
'
|
||||
|
||||
test_expect_success 'fetching submodules respects parallel settings' '
|
||||
|
|
Загрузка…
Ссылка в новой задаче