Merge branch 'dj/fetch-all-tags'

"git fetch --all", when passed "--no-tags", did not honor the
"--no-tags" option while fetching from individual remotes (the same
issue existed with "--tags", but combination "--all --tags" makes
much less sense than "--all --no-tags").

* dj/fetch-all-tags:
  fetch --all: pass --tags/--no-tags through to each remote
This commit is contained in:
Junio C Hamano 2012-09-14 11:54:19 -07:00
Родитель e9496f86db 8556646089
Коммит 0f80d8943f
2 изменённых файлов: 34 добавлений и 0 удалений

Просмотреть файл

@ -858,6 +858,10 @@ static void add_options_to_argv(struct argv_array *argv)
argv_array_push(argv, "--recurse-submodules");
else if (recurse_submodules == RECURSE_SUBMODULES_ON_DEMAND)
argv_array_push(argv, "--recurse-submodules=on-demand");
if (tags == TAGS_SET)
argv_array_push(argv, "--tags");
else if (tags == TAGS_UNSET)
argv_array_push(argv, "--no-tags");
if (verbosity >= 2)
argv_array_push(argv, "-v");
if (verbosity >= 1)

Просмотреть файл

@ -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