request-pull: do not emit "tag" before the tagname

The whole point of the recent update to allow "git pull $url $tagname" is
so that the integrator does not have to store the (signed) tag that is
used to convey authenticity to be recorded in the resulting merge in the
local repository's tag namespace.  Asking for a merge be made with "git
pull $url tag $tagname" defeats it.

Note that the request can become ambiguous if the requestor has a branch
with the same name as the tag, but that is not a new problem limited to
pulling. I wouldn't mind if somebody wants to add disambiguation to the
find_matching_ref logic in the script as a separate patch, though.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Junio C Hamano 2011-12-19 11:59:57 -08:00
Родитель fe46fa9d26
Коммит f032d66ddb
2 изменённых файлов: 2 добавлений и 4 удалений

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

@ -63,10 +63,8 @@ die "fatal: No commits in common between $base and $head"
find_matching_ref='
sub abbr {
my $ref = shift;
if ($ref =~ s|refs/heads/||) {
if ($ref =~ s|refs/heads/|| || $ref =~ s|refs/tags/||) {
return $ref;
} elsif ($ref =~ s|refs/tags/||) {
return "tag $ref";
} else {
return $ref;
}

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

@ -180,7 +180,7 @@ test_expect_success 'request names an appropriate branch' '
read branch
} <digest &&
{
test "$branch" = tag--full ||
test "$branch" = full ||
test "$branch" = master ||
test "$branch" = for-upstream
}