fetch --all: pass --tags/--no-tags through to each remote

When fetch is invoked with --all, we need to pass the tag-following
preference to each individual fetch; without this, we will always
auto-follow tags, preventing us from fetching the remote tags into a
remote-specific namespace, for example.

Reported-by: Oswald Buddenhagen <ossi@kde.org>
Signed-off-by: Dan Johnson <ComputerDruid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Dan Johnson
2012-09-05 17:22:19 -04:00
committed by Junio C Hamano
parent 50d89ad654
commit 8556646089
2 changed files with 34 additions and 0 deletions

View File

@ -151,4 +151,34 @@ test_expect_success 'git fetch --multiple (ignoring skipFetchAll)' '
test_cmp ../expect output)
'
test_expect_success 'git fetch --all --no-tags' '
>expect &&
git clone one test5 &&
git clone test5 test6 &&
(cd test5 && git tag test-tag) &&
(
cd test6 &&
git fetch --all --no-tags &&
git tag >output
) &&
test_cmp expect test6/output
'
test_expect_success 'git fetch --all --tags' '
echo test-tag >expect &&
git clone one test7 &&
git clone test7 test8 &&
(
cd test7 &&
test_commit test-tag &&
git reset --hard HEAD^
) &&
(
cd test8 &&
git fetch --all --tags &&
git tag >output
) &&
test_cmp expect test8/output
'
test_done